我有一个类似的课程:
class MyNumber
@@number = nil
unless @@number
@@number = rand(10)
end
def number
@@number
end
end
当我随后在此类上调用数字方法时,数字会不断变化。我只想设置一次这个数字,让它在整个课堂上保持不变。我怎样才能做到这一点。
在java用语中,我试图为这个类设置一个静态变量和静态方法。
答案 0 :(得分:1)
它应该可以工作,但是你如何调用类 - 如果重新加载类,它将具有不同的值。
答案 1 :(得分:0)
这是由铁路自动卸载/重装引起的。有一种解决方法可以让类在请求中保持不变。
在我的环境中.rb我必须添加这个
config.after_initialize do
require 'my_number'
end
答案 2 :(得分:0)
我认为这样写得更好:
class MyNumber
def number
@@number ||= rand(10)
end
end