Czy mogę utworzyć metodę instancji prywatnej, która może być wywoływana przez metodę klasy?Wywołanie metody instancji prywatnej z metody klasy w 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
Przepraszam, jeśli jest to dość elementarne pytanie, ale nie byłem w stanie przetestować mojej metody rozwiązania.
Należy naprawić swoje pytanie, masz literówkę. Czy metody nazywają się "bar" czy "plus"? – Samuel
Masz rację - poprawisz. dzięki. – user4812