1
考虑下面的代码:发送允许访问私有变量
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中没有真正的私有变量。他们都是私人的。只有方法有访问控制。 – 2012-03-27 23:28:24