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
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめてのRuby 第1章 / Ruby Practice 01
はじめてのRuby(第五版)勉強会第一回用スライド
muttan
October 18, 2016
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
130
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
200
ISUCONってなんだ / What is ISUCON
bath_poo_
0
390
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
210
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
200
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
290
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
160
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
240
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
270
Other Decks in Programming
See All in Programming
OSもどきOS
arkw
0
580
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
570
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
7.2k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
Performance Engineering for Everyone
elenatanasoiu
0
190
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.5k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
250
How STYLIGHT went responsive
nonsquared
100
6.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
4 Signs Your Business is Dying
shpigford
187
22k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
エンジニアに許された特別な時間の終わり
watany
107
250k
Docker and Python
trallard
47
3.9k
How to build a perfect <img>
jonoalderson
1
5.7k
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