我试图在脚本中创建对象,但我不明白如何使用变量命名来创建对象,请参阅下面的内容:
objname = "object" # < Var used for Obj name
class SimpleClass
def initialize(name)
end
end
objname = SimpleClass.new("Jeff") #does not work
# ^ using a variable to name the object
workingname = SimpleClass.new("Jeff") # will work
第S页你们都是最棒的,从一开始程序员的前景我不知道如果没有这个网站我会在哪里。
不确定为什么要这样做,但可以使用类似的实例变量来执行
objname = "object" # < Var used for Obj name
class SimpleClass
def initialize(name)
end
end
instance_variable_set("@#{objname}", SimpleClass.new("Jeff"))
#=> #<SimpleClass:0x228a548>
@object
#=> #<SimpleClass:0x228a548>
instance_variable_get("@#{objname}")
#=> #<SimpleClass:0x228a548>
尽管如此,这是一个糟糕的设计概念,正如你所看到的,只使用标准的局部变量会更容易,因为你的代码中会充斥着instance_variable_get/set方法,这些方法在这种情况下没有实际用途。