Рассмотрим следующий код:Send позволяет получить доступ к частным переменным
def create_class(class_name, superclass, &block)
klass = Class.new superclass, &block
Object.const_set class_name, klass
end
После того как я сделать:
create_class('User', ActiveRecord::Base)
следующее нормально:
Object.send(:remove_const, :User)
но:
Object.remove_const :User
результаты в этом:
NoMethodError: private method `remove_const' called for Object:Class
? Не имеет смысла для меня ... может «отправить» переопределить проверки доступа Ruby? Пожалуйста помоги!
В Ruby нет такой вещи, как частная переменная. Они все частные. Только методы имеют контроль доступа. –