Данные загружаются один раз, потому что для их загрузки требуется некоторое время, они не изменяются и используются совместно. Это статический класс: я не использую экземпляры.
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 перед его вызовом? Или есть лучший подход?