for文を使った繰り返し処理
繰り返し処理を行う方法の一つが for 文です。 while 文や until 文は条件式が真か偽かで繰り返しを行いましたが、 for 文では指定したオブジェクトから繰り返しのたびに値を取り出し、値がなくなるまで繰り返しを行います。ここでは Ruby で for 文を使った繰り返し処理を行う方法について解説します。
(Last modified: )
for文を使った繰り返し処理
for
文を使用すると繰り返し処理を行うことができます。書式は次の通りです。
for 変数 in オブジェクト do 実行する処理1 実行する処理2 end
※「do」は省略可能です。
for
文では繰り返しが 1 回行われるたび、オブジェクトに対して each
メソッドを実行し取得した要素を変数に代入します。よって for
文で指定できるオブジェクトは each
メソッドを持ったオブジェクトでなければなりません。例えば配列やハッシュ、範囲オブジェクトなどが該当します。
例えば次のように使います。
for num in 1..3 do puts("num = " + num.to_s) end print("End")
1..3
は範囲オブジェクトと呼ばれるものです。 for
文の中で指定されると最初の値から最後の値までを順に要素として取り出しながら繰り返し処理を行います。
※ 範囲オブジェクトについて詳しくは「範囲オブジェクトを繰り返し処理の中で利用する」を参照されてください。
実際の実行される流れは次のようになります。
1) 範囲オブジェクトから「1」を取り出し変数「num」に代入 2) 変数「num」の値を出力 3) 「end」まで達したので再度「for」文の先頭へ移動 4) 範囲オブジェクトから「2」を取り出し変数「num」に代入 5) 変数「num」の値を出力 6) 「end」まで達したので再度「for」文の先頭へ移動 7) 範囲オブジェクトから「3」を取り出し変数「num」に代入 8) 変数「num」の値を出力 9) 「for」文が終了 10) 「End」を出力
このように for
文ではあらかじめ指定したオブジェクトから要素を全て取り出すと繰り返しは終了します。その為、 while
文や until
文のように条件式を変化させるような処理は必要ありません。
では簡単なプログラムで確認してみます。
# encoding: UTF-8 puts("繰り返し開始") for num in 1..3 do puts("num = " + num.to_s) end puts("繰り返し終了")
下記のように実行して下さい。
-- --
Ruby で for 文を使った繰り返し処理を行う方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。