Rubyでbreakに引数をつける書き方

breakに引数を指定した場合、ループの戻り値がその引数になるらしい。
これって、あまり知られていない気がする。

以下は、数字の2乗を求めていって、
1000を超えたら出力するプログラム。

p 100.times {|num|
  square = num * num
  break [num, square] if square > 1000
}
#=> [32, 1024]

へー、しらなんだ。

コメント

コメントする

目次