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
杞憂に終わった。