로드하는 데 시간이 걸리고 변경되지 않으며 공유되므로 데이터가 한 번로드됩니다. 이것은 정적 클래스입니다 : 인스턴스를 사용하고 있지 않습니다. load_data가 할당 한 후에 나타나기 때문에Ruby에서 클래스 변수를로드하는 메소드를 호출하는 방법은 무엇입니까?
class Foo
@@ data = self.load_data
def self.load_data
.
.
.
end
def self.calculate
.
.
end
end
이 오류 NoMethodError: undefined method 'load_data' for Foo:Class
가 발생합니다.
f = Foo.new
을 사용하지 않아서 초기화가 작동하지 않는다고 생각합니다. 나는 Foo.calculate
으로 사용하고 있습니다.
그것을 호출하기 전에 load_data를 선언 할 필요가 있습니까? 아니면 더 나은 방법이 있습니까? 클래스 수준의 함수 호출에 의해
'Foo.calculate'는 cron 작업을 통해 실행되므로'load_data'를 호출 할 시간이 없습니다. 이 경우 자동으로로드하는 것이 낫습니다 ... –
그런 다음 calculate 메서드에서 load_data를 호출합니다. –