2
모듈/클래스 A
에 foo
메서드를 정의하여 모듈/클래스 B
또는 하위 클래스에서만 볼 수 있도록 할 수 있습니까? 다음은이 상황을 보여줍니다.특정 모듈/클래스 내에서만 볼 수있는 메서드 정의
A.new.foo # => undefined
class B
A.new.foo # => defined
def bar
A.new.foo # => defined
end
def self.baz
A.new.foo # => defined
end
end
class C < B
A.new.foo # => defined
def bar
A.new.foo # => defined
end
def self.baz
A.new.foo # => defined
end
end
세련된 느낌이 직감적으로 느껴지지만 원하는대로하지 않는 것 같습니다.
상세 검색의 문제점은 무엇입니까? 내가 아는 한, 당신은 B 내에서 세련미를 사용할 수 있어야하고 당신이 묘사하는 것과 정확히 일치 할 수 있어야합니다. – samuil
상세 검색을 사용하면'B'의 클래스 본문에 매번'using ... '이라고 써야합니다. 그것은 비실용적입니다. – sawa