Ruby超入門 2周目 CHAPTER 3 3-6 「なんどもも繰り返す」 まで

f:id:kkouji0224:20191016161437p:plain

『ゼロからわかる Ruby 超入門 (かんたんIT基礎講座) 』


github.com

 ※上の画像はRuby超入門に出てくる文字列オブジェクトさん

べこ🐄 (@becolomochi) | Twitterさんのイラストでgithubで公開してくれてるんだよ!

 

今はバスの中です。バスの中でもRubyです。

 

複数の条件を組み合わせる

まずは || からですねー。

wallet = 100
pasmo = 300
if wallet >= 300 || pasmo >= 300
    puts "コンビニでアイスを買っていこう!"
end

これも2周目ちゃんと読むまで「もしくは」みたいな感じで覚えてたんだけど、「or」で覚えちゃった方が感覚的にサッといけるなってことに気がついたよ!orのほうがパッとイメージしやすいの僕だけでしょうか…

 

続きまして&&これね!

wallet = 500
weather = "fine"
if wallet >= 300 && weather == "fine"
    puts "コンビニでアイスを買っていこう!"
end 

 

これも上と同じで「かつ」で覚えてたんだけど、普段あまり使わない言葉だとイメージするのにラグが発生するというか負荷が高くなるので「アンド」で覚えたほうがパッとでてくるなぁってのをあらためて実感。

 

ifの条件に書けるもの

if 1
    puts "1で成立しました"
end
if "a"
    puts "aで成立しました"
end 

このチャプターではこれが一番「ほほー!!」ってなったところかも。

ifはfalseとnilは条件をみたさなくて、それ以外は条件を満たす。だから上のifは100とabcなのでfalseでもnilでもないから条件が満たされてputsメソッドが実行されちゃうんだね〜。これは面白いなー。覚えておこう…

 

で、caseさんです

 

order = "特盛り"
case order 
when "並盛り"
    puts "300円です"
when "大盛り"
    puts "350円です"
else 
    puts "ここは牛丼屋ではありません"
end 

これは見たまんまかなぁ。case + 変数からのwhen + 候補みたいな感じ。whenだから変数orderが"並盛り"の時にputsメソッド実行みたいな読み方かなぁ。で、どれにも当てはまらなかった場合に実行するelseも書けるんですね!

 

二択のときはifさん 三択以上のときはcaseさんで考えてみると良いっぽい!

 

 

で、ifとcaseはここまで…

 

timesメソッドさん

7.times do
    puts  "毎日焼肉"
end
puts "休肉日をつくりましょう" 

doとendのセットが「ブロック」で処理のかたまりをかける場所。

で、回数を繰り返し終わると次の処理にいくので上の場合は、7日間繰り返し焼肉食べたら休肉日をつくりましょうって苦言をいただくって感じ…

 

この繰り返しも一個一個書くんじゃなくて、timesメソッドで書くことでDRY(Don't Repeat Yourself)的な感じで読みやすいしメンテナンスしやすいってことだねっ!

 

 

続きましてwhileさんですねー。

stress = 0
while stress < 7
    stress += 1
    puts "パワハラくらうとストレス#{stress}に増加"
end
puts "休日で回復だ!!"

 

while + 条件で、中身が条件が満たされるまで繰り返す処理。で満たされるまで繰り返し確認して繰り返し処理を実行。条件が満たされたら次の処理にいくので休日がやってくると… あれおかしいパワハラが7回繰り返されている… 休みはどこだろう…みたいな。

 

結局行きも帰りもバスの中でRuby超入門やったり、はてなにこんな感じで書いてたりすると一瞬で時間が過ぎていくので、かなり楽しい時間かもしれない…。

 

そとでパソコンいじるのそんなに好きじゃ無い派だったんだけど、意外と集中できちゃったり。そんな発見もありつつ今日の振り返りはここまで。

 

てかvscodeからコピペするとそのまんまの感じで貼り付けられてめっちゃ便利!

 

ってことでまた明日〜!