Mi manca qualcosa su come le persone lo fanno in Ruby.Come si accede ai metodi di classe protetti dai metodi di istanza in Ruby?
Se '#protected' non sia commentata otteniamo:
in 'cosa': metodo protetto 'Zoop' chiamato per Foo: Classe (NoMethodError)
C'è un modo migliore per avvicinarsi a metodi di classe protetti?
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'"
Vorrei zoop da proteggere o privato (nessuna chiamata 'Foo.zoop'), ma finora, non posso sembrare trovare un modo elegante.
Esiste un'ipotesi sottostante secondo cui le istanze di una classe dovrebbero avere un accesso più intimo ai metodi di singleton della classe rispetto agli altri oggetti? –
Infatti. E ben detto. –