RubyをつつくX-制御式4。グルグルRuby。
array = [1,2,3,4,5,6,7,8,9,10]
i = 0
while i < array.length
puts array[i]
i += 1
end
実行してみた?うん。わかった。それじゃあ囀るピヨ♪。この式はwhile 式が真(true)の間処理を繰り返す文なんだ。つまり、この例の場合は、「変数iよりも、配列の長さが大きい場合繰り返し実行する」という意味なんだ。あれ?whileはどうやら式じゃないみたいだね。一回試してみよう。
array = [1,2,3,4,5,6,7,8,9,10]
i = -1
puts (while i < array.length; i+= 1; array[i]; end)
さて、どうなるかな♪ピヨピヨ♪。。。。。。。あれ?結果はnilだ。マニュアルを読むとやっぱりwhileは値を返しませんと明記されていたピヨ。ちょっと残念。まぁ、whileが式でなくてもいいけどね。これだけじゃあ面白くないからもう一つ紹介するピヨ♪
while修飾子というのがあるんだ。さっそくつつこう。
array = [1,2,3,4,5,6,7,8,9,10]
i = 0
begin
puts array[i]
i += 1
end while i < array.length
これちょっと難しいピヨね。えっと、このプログラムは、「変数iが配列の長さを超えるまでコードブロックを実行する」という意味なんだ。while修飾子は、 式 while 式と定義されていて、 右辺の条件を満たす限り左辺の式を実行するんだ。ちょっと、利用する場面が思いつかないかもしれないけど、Rubyに慣れてきたらいい使い方がわかるピヨ♪
それにしても、式として使いたいなー。
ドリィちゃん「breakを使いなさい。」
うん。break?・・・わかったつかってみるピヨ♪鳥ャ~
array = [1,2,3,4,5,6,7,8,9,10]
i = -1
#breakがあることに注意!
puts (while i < array.length; i+= 1; break array[i]; end)
よし実行だぁー。あれ?1しか返されないピヨォ?
ドリィちゃん「だってぇ、breakで終了するものw」
ピムッ!またボクをからかったピヨね。
ドリィちゃん「そんな事無いわw。breakを賢く使えば式っぽく出来るわよ。」
そう?ちょっと笑っている気がするけど・・・まぁいいや。みんなRubyを楽しんでね~♪
おしまい。