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
290
はじめての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
120
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
180
ISUCONってなんだ / What is ISUCON
bath_poo_
0
380
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
210
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
170
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
280
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
150
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
230
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
260
Other Decks in Programming
See All in Programming
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
180
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
320
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
200
PHPで TLSのプロトコルを実装してみる
higaki_program
0
430
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
230
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
Pythonデータ分析コトハジメinFukuoka
kanan
0
100
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
520
CSC307 Lecture 15
javiergs
PRO
0
260
Claude Codeログ基盤の構築
giginet
PRO
7
3.6k
20260320登壇資料
pharct
0
120
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Designing for humans not robots
tammielis
254
26k
Mind Mapping
helmedeiros
PRO
1
130
sira's awesome portfolio website redesign presentation
elsirapls
0
200
The agentic SEO stack - context over prompts
schlessera
0
710
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The Language of Interfaces
destraynor
162
26k
Balancing Empowerment & Direction
lara
5
960
Music & Morning Musume
bryan
47
7.1k
Optimizing for Happiness
mojombo
378
71k
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