我有以下代码,旨在将普通变量转换为实例变量。
BasicObject.class_eval do
def instance(ins)
self.instance_variable_set("@#{ins}", ins)
end
end
假设用户说
class X
foo = 3
end
bar = X.new
bar.instance(:foo)
我想要它做的是将新创建的变量设置@foo
为 3,而不是设置@foo
为:foo
. 如何让代码做我想做的事?