Muszę zabraknąć czegoś o tym, jak ludzie robią to w Ruby.W jaki sposób jeden dostęp chroni metody klasy przed metodami instancji w Ruby?
Jeśli '#protected' jest komentarzem otrzymujemy:
w 'co': protected metoda 'Zoop' wezwał do Foo: Klasa (NoMethodError)
Czy istnieje lepszy sposób, aby zbliżyć metod klasy chronione?
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'"
Chciałbym Zoop być chronione lub prywatnych (nie wywołujący „Foo.zoop”), ale do tej pory nie mogę wydawać się znaleźć elegancki sposób.
Czy istnieje założenie, że instancje klasy powinny mieć bardziej intymny dostęp do pojedynczych metod klasy niż inne obiekty? –
Rzeczywiście. I dobrze powiedziane. –