jri*_*lai 7 ruby parameters ruby-on-rails
我有一个方法调用整数的方法:
def print_time(time = 2.days.from_now)
puts time
end
Run Code Online (Sandbox Code Playgroud)
我尝试在控制台中似乎工作,但这段代码安全吗?我的意思是通过例子:
当方法定义时,值(2.days.from_now)是否只评估一次?
谢谢你帮我澄清一下!:)
嗯,你的问题不是特别清楚。
您担心缓存吗?显然,在清除缓存之前,不会再次评估已评估然后缓存的内容(即,使用操作缓存或页面缓存)。
或者您是否担心定义方法时默认参数值被缓存,并且所有后续调用可能具有与默认值相同的值?在这种情况下,您的控制台测试是有效的,并且 @Linux_iOS.rb.cpp.c.lisp.n (longest.name.evar) 是正确的——Ruby 每次都会计算该表达式。
出于好奇,是什么让您怀疑自己在控制台中的测试?
| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |