if文とfizz_buzzメソッド
if文で条件分岐させる
if文、プログラミングに触れたことがなくてもなんとなく察しがつきそうな感じですかね。 条件によって動作を変えられる便利なやつ。
もし、条件①なら、○○しろ! 条件①じゃなかったら、✗✗しろ!みたいな感じですね。
Rubyでif文を書く時はこうなります。
if 条件① 条件①の場合の処理 elsif 条件② 条件②の場合の処理 else それ以外(条件①でも②でもない)場合の処理 end
「elsif」を「elseif」と間違えないように気をつけます。
こんな感じで条件を決めておいて、それに沿って処理が流れるようにすることができます。
fizz_buzzメソッド
プログラミング界隈ではfizzbuzz問題というのが有名らしい。
実際はもっと難しい内容みたいなのですが、今回は以下の仕様でメソッドを作ります。
ということで、メソッドはこのように定義します。
def fizz_buzz(num) if num % 15 == 0 "Fizz Buzz" elsif num % 3 == 0 "Fizz" elsif num % 5 == 0 "Buzz" else num end end puts fizz_buzz(1) puts fizz_buzz(2) puts fizz_buzz(3) puts fizz_buzz(4) puts fizz_buzz(5) puts fizz_buzz(6) puts fizz_buzz(15)
このメソッドを作る時のポイントは最初の条件分岐で「15の倍数なら」をもってくるところです。 15は3の倍数でもあり、5の倍数でもあるので、最初の条件にもってこないと「Fizz」もしくは「Buzz」が表示されてしまいます。
このように表示されるはずです。
=> 1 => 2 => Fizz => 4 => Buzz => Fizz => Fizz Buzz
まとめ
if文はよく使う構文なので、しっかり頭にいれていきたいです。
また条件分岐できる構文はif文以外もあるので、そちらについても学習してアウトプットしていきます。
参考:プロを目指す人のためのRuby入門
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ) | 伊藤 淳一 |本 | 通販 | Amazon