Rubyの学習メモ
Rubyをdotinstallなどで学習したので自分用にメモ。
p三兄弟の違い
print
-> 終わった後に改行がない
puts
-> 改行あり
p
-> データ形式がわかるように表示
- 複数行のコメントの書き方 =begin コメント コメント =end
"" と '' の違い
"" は、 1 #{変数}で変数を展開 2 特殊文字を展開 することができる。
''はできない。
! と ? の違い
! 破壊的メソッド # 元データを書き換える ? 真偽値を返すメソッド # true か false を返す
%記法
※ 共通して、小文字 + %
だとシングルクォーテーションで囲った時と同様の働き
s = %Q(hello)
-> 区切り文字を使うときとかに有効
a = %W(a b c)
-> 要素が文字列の配列
条件分岐
if x # x == true と同義 puts "..." end
条件演算子
a = 条件 ? b : c
-> 条件が、真ならbを、偽ならcを返せ
例。
b = 10 c = 20 a = b > c ? b : c puts a
実行結果
20
多重代入
変数をまとめて処理する。
b, c = 10, 20
case文
case 比較したいオブジェクト when 値 処理 when 値 処理 when 値 処理 else 処理 end
例。
signal = "red" case signal when "red" puts "STOP!" when "green", "blue" puts "GO!" when "yellow" puts "CAUTION!" else puts "wrong signal" end
実行結果
STOP!
while文の break と next
break -> ループを抜ける
next -> ループを一回スキップ
i = 0 while i < 3 if i == 1 next end puts "#{i}: hello" i += 1 end
実行結果
0: hello 2: hello
for文
for i in 0..2 do puts i end
実行結果
0 1 2
0..2 の部分は配列でも可。
for color in ["red", "blue", "piink"] do puts color end
実行結果
red blue pink
eachメソッド
["red", "blue", "piink"].each do |color| puts color end
実行結果
red blue pink
また、ハッシュに対しても有効。
{"red"=>200, "blue"=>100, "piink"=>50}.each do |color, price| puts "#{color}: #{price}" end
実行結果
red: 200 blue: 100 pink: 50
defについて
def sayHi name = "Steve" # 初期値を持たせることができる puts "hello! " + name end sayHi "Tom" sayHi "Bob" sayHi
実行結果
hello! Tom hello! Bob hello! Steve