対象: 繰り返しRubyでは様々な繰り返しの制御構造を書ける。他に繰り返し処理用のメソッドも用意されている。 配列やハッシュの繰り返し処理はこちらを参照していただきたい。 forまずは他の言語でもおなじみのforである。iが0から9まで繰り返したい場合、0..9とRangeオブジェクトを用いて書く。 for i in 0..9 p i end 配列を用いると連続していない数でループさせることができる。 for i in [1, 3, 5, 7] p i end 途中でループを抜けるにはbreakを使用する。また、breakには引数を指定でき、この値はfor文の値として返すことができる。次の繰り返し判定に進むためにはnextを使用する(Javaのcontinue)。次の繰り返し判定ではなく、現在の繰り返しをやり直すredoもある。 for i in 1..10 p i break if i % 5 == 0 # iが5の倍数ならばループを抜ける end whilewhileもおなじみの繰り返しである。式が真(true)の間だけ繰り返しを行う。 count = 0 while count < 5 # 式が真(true)の間ループする p count count += 1 end do whileはbegin endを用いて以下のように書けば良い。 begin p count count += 1 end while count < 5 # 式が真(true)の間ループするが、最初の1回は必ず実行される untiluntilは式が真(true)になるまで繰り返しを行う。 count = 0 until count == 4 # 式が真(true)になるまでループする p count count += 1 end do untilはbegin endを用いて以下のように書けば良い。 begin p count count += 1 end until count == 4 # 式が真(true)になるまでループするが、最初の1回は必ず実行される loop繰り返しを書くのにloopメソッドを使うこともできる。loopから抜け出すにはbreakを使用する。 count = 10 loop do count -= 1 p count break(count) if count == 0 endKernel.#loop Integer.times単純にn回繰り返したい等の場合、Integer.timesメソッドが利用できる。timesメソッドのブロックには0から始まるパラメータが渡される。 5.times { p "Hello World!" } 5.times {|n| p n # nは0から始まる }Integer.#times (2010/03/02)
Copyright(C) 2004-2014 モバイル開発系(K) All rights reserved.
[Home]
|