Puis-je créer une méthode d'instance privée qui peut être appelée par une méthode de classe?L'appel d'une méthode d'instance privée à partir d'une méthode de classe en 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
Toutes mes excuses si cela est une question assez élémentaire, mais je n'ai pas pu Google mon chemin à une solution.
Vous devriez fixer votre question, vous avez une faute de frappe. Les méthodes sont-elles appelées bar ou plus? – Samuel
vous avez raison - corrigera. Merci. – user4812