사람들이 Ruby에서이 작업을 수행하는 방법에 대해 뭔가 빠뜨린 것 같습니다. '무엇을'에
: 보호 방법은 푸 대한 소위 'zoop'Ruby의 인스턴스 메소드에서 보호 된 클래스 메소드에 어떻게 액세스합니까?
경우 '#protected은'우리가 얻을 주석 인 클래스 (NoMethodError)
보호 클래스 메소드에 접근 할 수있는 더 나은 방법이 있나요? 내가 zoop을 부탁
class Foo
class << self
#protected
def zoop
"zoop"
end
end
public
def what
"it is '#{self.class.zoop}'"
end
protected
end
a = Foo.new
p a.what # => "it is 'zoop'"
보호 할 수 있습니다 또는 개인 (부름 'Foo.zoop')는,하지만 지금까지, 나는 우아한 방법을 찾을 수가 수 없습니다.
클래스의 인스턴스가 다른 객체보다 클래스의 싱글 톤 메소드에 더 친밀한 액세스를 가져야한다는 기본 가정이 있습니까? –
실제로. 그리고 잘 말했다. –