Ruby에서 인스턴스 변수를 이해하려고 할 때 약간 미쳤다고 생각합니다. 내 유일한 목적은 해당 클래스에 대해 생성 된 모든 객체가 이 아닌 변수를 가지며이 해당 클래스에 대해 initialize
메서드를 작성하지 않고 수행되도록하는 것입니다. 같은 뭔가 :Ruby에서 인스턴스 변수 초기화
class Test
@my = []
attr_accessor :my
end
t = Test.new
t.my # I want [] but this shows nil
그것은 initialize
을 건드리지 않고 이것을 달성 할 수 있습니까? 감사.
편집 :가 명확히하기 위해, 나는 그것을 실행하는 클래스에 인스턴스 변수를 추가 할 것입니다 의미에서 attr_accessor
유사한 실행하는 코드의 일부 조각을 쓰고 있어요. 내 자신의 initialize
을 작성하면 사용자가 작성한 것을 clawbering하는 것입니다.
편집을 참조하십시오. – sasuke
나의 나쁜, 나는 "유사하다"고 말했다. 기본적으로,이 새로운 메소드는'attr_accessor'와 같은 어떤 클래스에 추가 될 때, 그 클래스를 위해 생성 된 모든 객체에 새로운 인스턴스 변수를 추가 할 것입니다. – sasuke
아, 내가 생각하기에, 나는 그러한 속성들에 대해 디폴트'attr_reader'에 의지 할 수 없다. 한가지 마지막 질문 : Ruby에서 Java와 같은 방식으로 인스턴스 변수를 초기화 할 방법이 없습니까? – sasuke