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
280
はじめての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
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
170
ISUCONってなんだ / What is ISUCON
bath_poo_
0
360
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Other Decks in Programming
See All in Programming
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
530
Software Architecture
hschwentner
6
2.3k
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
120
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
300
モテるデスク環境
mozumasu
3
1.3k
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.6k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.8k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
11k
Unsuck your backbone
ammeep
671
58k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
We Have a Design System, Now What?
morganepeng
53
7.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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