Что мои знания говорят о Ruby, так это то, что частные методы нельзя вызывать с явным приемником даже self
.Частные методы вызова в Ruby
class Private
private
def private_method(c)
puts '#{c}'
end
end
p = Private.new
p.instance_eval{ private_method("private method called") }
Как это работает? Мы можем вызвать частный метод с instance_eval
. Пожалуйста, объясните
Вы не видите здесь явный приемник, не так ли? –
Я смущен на ваш вопрос. Вы говорите, что частные методы могут быть вызваны без явного приемника. Вы вызываете частный метод без явного приемника. Тогда вы удивлены тем, что вы можете вызвать частный метод без явного приемника? –