modelのscope書く時、現在時間を使う時はテストしやすいようにデフォルト値ありの引数を与えることにしてるんだけど、

「あれ、引数だけ先に評価されちゃわなかったっけな?」

と心配になったので試してみた。

foo = ->(now = Time.now) {
  puts now, Time.now
}

sleep 10

foo.call
% ruby arg.rb
2013-07-11 16:07:16 +0900
2013-07-11 16:07:16 +0900

杞憂に終わった。

Comments


Option