Kann ich eine private Instanzmethode erstellen, die von einer Klassenmethode aufgerufen werden kann?Aufrufen einer privaten Instanzmethode aus einer Klassenmethode in Ruby
class Foo
def initialize(n)
@n = n
end
private # or protected?
def plus(n)
@n += n
end
end
class Foo
def Foo.bar(my_instance, n)
my_instance.plus(n)
end
end
a = Foo.new(5)
a.plus(3) # This should not be allowed, but
Foo.bar(a, 3) # I want to allow this
Entschuldigung, wenn das eine ziemlich elementare Frage ist, aber ich konnte Google meinen Weg zu einer Lösung nicht.
Sie sollten Ihre Frage beheben, haben Sie einen Tippfehler nutzen könnten. Sind die Methoden Bar oder Plus? – Samuel
Sie haben Recht - wird behoben. Vielen Dank. – user4812