今回はRubyの繰り返しを学んで、スマートなプログラムを書いていきます。

『Hello』と表示しました。

3回繰り返すなら、3回書けば繰り返せます。もし100回とかになってくるとトンデモナイことになります。

『.times』というメソッドを使うと、繰り返すことができました。『3.times』なので3回繰り返します。100回繰り返すなら、『100.times』にすればいいだけです。

上記のように書くと、『i』で何回目の繰り返しなのかを表示することができます。||で囲まれた変数をブロック変数と呼びます。『i』を『num』とか別の変数にしても問題ありません。

『5.times』にすると、0~4までが表示されました。

『puts i』としてエラーが出ます。ブロック変数は『do』と『end』の中だけで使えるので、3行目の『end』があり、5行目に『puts i』としても『i』という変数は定義されていないというエラーが出ています。

配列の時に学んだeach文も同じような構造になっています。

繰り返し文も配列と同様に0番目からスタートするという共通点があります。

while文は『 a < 5 』を満たすときだけ繰り返されるようになります。まずa=0なので、5より小さいので『puts』されて0が表示されます。a=a+1で、a=1になります。a=1は5より小さいので『puts』されて1が表示されます。a=a+1で、a=2になります。a=2は5より小さいので『puts』されて2が表示されます。・・・

『.sample』で3回ランダムでおみくじを引いています。大吉→吉→吉と3回引いた結果が表示されています。

次に上記はwhile文でランダムで引いた結果が『大吉』でなければ、引き続けるプログラミングになります。『!=』は前回に学んだ内容です。『大吉』と吉→中吉でその次に大吉が出て、プログラムを抜けています。

最後に『puts result』とするとより分かりやすいです。吉→大吉となり、プログラムを抜けています。
コメント