【发布时间】:2012-04-16 17:57:31
【问题描述】:
数据被加载一次,因为加载需要一段时间,不会改变,并且是共享的。这是一个静态类:我没有使用任何实例。
class Foo
@@ data = self.load_data
def self.load_data
.
.
.
end
def self.calculate
.
.
end
end
这会引发错误NoMethodError: undefined method 'load_data' for Foo:Class,因为 load_data 出现在分配之后。
我不认为初始化会起作用,因为我没有使用f = Foo.new。我将其用作Foo.calculate。
调用前需要声明load_data吗?还是有更好的方法?
【问题讨论】:
标签: ruby-on-rails ruby class static-methods static-variables