« SICP読書会 #3 | メイン | 100駅プロジェクト2008 #38 鮫洲 »
breakに引数を指定した場合、ループの戻り値がその引数になるらしい。 これって、あまり知られていない気がする。
以下は、数字の2乗を求めていって、 1000を超えたら出力するプログラム。
p 100.times {|num| square = num * num break [num, square] if square > 1000 }
#=> [32, 1024]
へー、しらなんだ。
この記事へのコメントは終了しました。
コメント