無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

JRubyをつつくX−制御式4。グルグルJRuby。

今回はループをつついていくピヨ♪ループについてはプログラミング経験者ならお馴染みだよね♪ さっそくつついてみよう。


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 式と定義されていて、 右辺の条件を満たす限り左辺の式を実行するんだ。ちょっと、利用する場面が思いつかないかもしれないけど、JRubyに慣れてきたらいい使い方がわかるピヨ♪
それにしても、式として使いたいなー。
ドリィちゃん「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を賢く使えば式っぽく出来るわよ。」
そう?ちょっと笑っている気がするけど・・・まぁいいや。みんなJRubyを楽しんでね〜♪
おしまい。
別窓 | JRuby | コメント:0 | トラックバック:0 | ∧top | under∨
<<JRubyをつつくX−制御式5。天邪鬼がグールグール。 | 無差別に技術をついばむ鳥 | JRubyをつつくX−制御式3。ちょっとした事には修飾子。>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |