Ruby基礎文法のメモ [1]
Rubyの基礎を振り返ろうと思って逆引き辞典をちょっと写経しました。
いままで使ってなかったものとか、簡単にメモです。
2つ飛ばしでループ。aからbの間を2つ飛ばしの場合。
a, b= 2, 10 a.step(b, 2) do |i| p i #=> 2, 4, 6, 8, 10 end
どこからどこまでみたいな範囲指定のループ
3.upto(8) do |i| ~~ end (3..8).each do |i| end 両方同じ意味
if文って評価後ちょくで代入できるって知りませんでした
a = 'テスト' b = 10 a = if b < 10 'シンボルです' elsif b == 10 '文字列です' else 'その他' end p a #=> '文字列です'
a = 'テスト' b = if a.class == a.class == String then 10 else 'すとりんぐじゃない' end p b #=> 10
ループの抽象化ってとこで。
test = [1, 2, 3].map{|x| x*x} #=> [1, 4, 9] [1, 2, 3, 4].select{|x| x%2 == 0} #=>[2, 4]
って感じでできるんですね。
もちろんeachでもいけるからずっとそうしてましたが
これからこのへんちゃんと使ってみようと思います。