У меня есть этот маленький код, который каким-то образом противоречит Ruby documentation:
Вторая видимость
protected
. При вызове защищенного метода отправитель должен быть подклассом получателя, или приемник должен быть подклассом отправителя. В противном случае будет поднят aNoMethodError
.
class Test
def publico(otro)
otro.prot
end
end
class Hija < Test
protected def prot; end
end
Test.new.publico(Hija.new)
Я получаю следующий вывод:
NoMethodError: защищенный метод `prot ', вызываемый для # Publico
Что мне не хватает? По-видимому, опция "приемник должен быть подклассом отправителя" недоступна.