내가 인스턴스 변수를 사용하고자하는 경우 일부 모듈이 나는 현재이처럼 초기화 해요 :Ruby에서 모듈의 인스턴스 변수를 초기화하는 방법은 무엇입니까? .
이module MyModule
def self.method_a(param)
@var ||= 0
# other logic goes here
end
end
나는 또한 그것들을 초기화하기 위해 init 메소드를 호출 할 수 있습니다
def init
@var = 0
end
그러나 이것은 내가 항상 그것을 부르는 것을 기억해야한다는 것을 의미 할 것입니다.
더 좋은 방법이 있나요?
def init(var=0)
@var = var
end
을 그리고 당신은 아무것도 통과하지 않는 경우는 디폴트로 0이됩니다
첫 번째 코드 블록은 모듈 인스턴스 var (MyModule 유형 객체의 범위에있는 var)를 설정하지 않지만 두 번째 코드 블록은 "일반"인스턴스 var (var를 포함하는 인스턴스의 범위에있는 var)를 설정하지 않습니다. 기준 치수)? 나는이 두 코드 블록이 똑같은 일을하지 않는다고 생각한다 ... –