Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はじめてのRuby 第1章 / Ruby Practice 01
Search
muttan
October 18, 2016
Programming
0
260
はじめてのRuby 第1章 / Ruby Practice 01
はじめてのRuby(第五版)勉強会第一回用スライド
muttan
October 18, 2016
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
79
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
120
ISUCONってなんだ / What is ISUCON
bath_poo_
0
290
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
160
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
130
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
220
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
100
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
170
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
220
Other Decks in Programming
See All in Programming
WinUI 3デモ - "CommunityToolkit.Mvvm"NuGetパッケージ編
andrewkeepcoding
0
130
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
品質が高いコードって何?Rev2.1
ickx
1
490
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
510
TCA魔法学入門🪄
dazy
0
280
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
bakudreameater
0
110
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
160
ONE WEDGE_Company_Information
1wedge
0
180
LPIXEL×CADDi_kaerururu
kaerururu
3
300
GitHub Copilot Tips and Tricks
yuichielectric
26
7.5k
Some Quick Ideas To Improve Your Tests ( #jassttokyo )
teyamagu
PRO
2
2.3k
上手な探索的テストとその上達方法について
matsu802
4
660
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
Unsuck your backbone
ammeep
661
56k
Bash Introduction
62gerente
604
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
Teambox: Starting and Learning
jrom
126
8.4k
The Invisible Side of Design
smashingmag
293
49k
YesSQL, Process and Tooling at Scale
rocio
160
13k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Being A Developer After 40
akosma
56
580k
Making Projects Easy
brettharned
106
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Transcript
はじめてのRuby 第1章
参考書 たのしいRuby 第5版(SBクリエイティブ) \2,808(Amazon) 大事な(と思われる) 部分を抜粋してやります.
Rubyのバージョン Rubyは2016.10.5現在最新の2.3.1を利用し ます. ダウンロードはこちらから https://www.ruby-lang.org/ja/downloads/ 最新のRubyの情報は、公式HPをチェック https://www.ruby-lang.org/ja/
Rubyの特徴
Rubyの特徴 オブジェクト指向言語である. ソフトウェア工学の前にやるべきだった. スクリプト言語である. Cと違ってコンパイルを挟まずに実行可能. マルチプラットフォームな言語である. OS
XでもLinux, FreeBSDでもWindowsで も実行可能である.
第1章 はじめてのRuby
1.1 Rubyを実行する. rubyコマンドを利用する. hoge.rbというファイルを作成し、 として実行する。 irbを利用する. 対話的に実行する. irbは(Interactive
Rubyの略) $ruby hoge.rb
(Rubyコマンドを利用して) お約束のアレから スタート
helloruby.rb print(“Hello, Ruby.\n”) $ruby helloruby.rb 上記1文を記述し、以下のように実行 p4 helloruby.rbを実際に実行
実行
irbコマンドで実行 $irb irb(main):xxx> print(“Hello, Ruby.\n”) Hello, Ruby. =>nil irb(main):xxx> Hello,
Ruby : 出力 nil : print文の戻り値
1.3 文字列 改行文字 \nは改行を表す. エスケープシーケンスを表示する Hello, “Ruby” のような文字列を出力するときは、
のようにする必要がある. print("Hello, \"Ruby\".\n")
エスケープシーケンスを表示 式 表示される文字列 print("Hello, \"Ruby\".\n") Hello, “Ruby”. print("Hello, \\nRuby.\n") Hello,
\nRuby. print("Hello, \'Ruby\'.") Hello, ‘Ruby’. print("Hello, \\Ruby\\.") Hello, \Ruby\.
1.3.2 “ ”と’ ’の違い “ “の挙動は先ほど説明した通り. ‘ ‘(シングルクォーテーション)で文字列を
囲んだとき、エスケープシーケンス(\n, \t 等々)は解釈されず、そのまま表示される. は、 と表示される. print(‘Hello, \nRuby\n.\n’) Hello, \nRuby\n.\n
1.4 メソッドの呼び出し 括弧は省略可能 print(“d(^_^o)”)とprint “d(^_^o)” は同じ. カンマで並べて表示. と書くことで、“しまもん”と表示される.
print “し“, ”ま“, ”も”, “ん”
1.6 pメソッド デバッグに便利なメソッド puts “100”とputs 100の出力結果は変わら ないが、p “100”とp 100では異なる(文字
列と整数)ことがわかる。 式 結果 puts “100” 100 puts 100 100 p “100” “100” p 100 100 p13 puts_and_p.rbを実際に実行
実行
1.9 変数 変数名 = オブジェクトという形で書く. 変数名はわかりやすく shimamon =
"d(^_^o)" n = 10 p20 area_volume.rbを実際に実行
実行
1.9.1 変数の展開 P20 area_volume.rbにおいて、areaという 変数を出力したい場合、 と書くことができるが、 とすることで、文字列内に変数の値を展開す ることができる. print
“表面積=“, area, "\n" print “表面積=#{area}\n“
1.9.1 変数の展開 x = 10 y = 20 z =
30 area = (x * y + y * z + z * x) * 2 volume = x * y * z print “表面積=#{area}\n" print “体積=#{volume}\n" P20 area_volume2.rb
1.10 コメントアウト 1行コメントアウトするときは、#を先頭に 記述する. コメントが複数行にわたる場合は、 ”=begin”と”=end”で囲む必要がある.
1.10 コメントアウト =begin foo bar コメントブロック =end x = 10
y = 20 z = 30 # 表面積 area = (x * y + y * z + z * x) * 2 # 体積 volume = x * y * z print “表面積=#{area}\n" print “体積=#{volume}\n"
1.12 条件判断(if…then…end) 条件分岐させるために使用する. thenは省略可能です. if condition then expression
end p25 greater_smaller.rbを実際に実行
実行
1.12 条件判断(if…then…end) elseもあります if condition then expression else expression
end p26 greater_smaller_else.rbを実際に実行
実行
1.13 繰り返し(while文) Cと同じ構文です. while condition expression end p26 例を実際に実行
実行
1.13 繰り返し(timesメソッド) 所謂イテレータと言われるもの. あとで詳しくやるのでこんなものがあるぐら いでOK. obj.times do expression
end