2010-02-17 19 views
6

의 정수 다음의 단락에서는, 모듈의 외부로부터 FOO 정수를 참조 할 수 있습니까. 그렇다면, 어떻게 할 수 있습니까?<< 셀프 블록

module X 
    class << self 
    FOO = 2 
    end 
end 

답변

6
class <<X 
    self 
end::FOO 

또는

class Object 
    def metaclass 
    class <<self 
     self 
    end 
    end 
end 

X.metaclass::FOO 
+0

메타 클래스를 얻을 수없는 내장 된 방법은 없다? 결론은'class << self' 블록 내에 상수를 넣는 것이 일반적으로 잘못된 것이라고 생각합니다. –

+0

@MichieldeMare 예 .. 루비가 있습니다. 'X.singleton_class :: Foo'처럼. –