3
이것은 내가 얻은 것입니다. 그러나 클래스와 다른 상수를 찾습니다. 더 좋은 방법이 있습니까?모듈의 하위 항목을 찾는 더 좋은 방법은?
class Module
def children
constants.collect { |c| const_get(c) }.compact
end
end
이것은 내가 얻은 것입니다. 그러나 클래스와 다른 상수를 찾습니다. 더 좋은 방법이 있습니까?모듈의 하위 항목을 찾는 더 좋은 방법은?
class Module
def children
constants.collect { |c| const_get(c) }.compact
end
end
'어린이'는 특정 모듈 아래에 중첩 된 모듈을 의미하는 것 같습니다. 맞습니까? 상속 관계와 아무 관련이 없습니까?
그냥 중첩 된 모듈을 의미 가정하면, 다음과 같은 작동합니다 :
class Module
def children
constants.collect { |c| const_get(c) }.
select { |m| m.instance_of?(Module) }
end
end
편집 : 당신은 상속 체인까지 더 모듈에 일정한 룩업을 방지하기 위해 constants(false)
을 사용해야 할 수도 있습니다.