如何使下面的代码工作,以便puts显示1?
video = []
name = "video"
name[0] = 1
puts name[0] #gives me 1
puts video[0] #gives me nil
Run Code Online (Sandbox Code Playgroud)
您可以使用eval使其工作:
eval "#{name}[0] = 1"
Run Code Online (Sandbox Code Playgroud)
我强烈建议不要这样做.在大多数情况下,你认为你需要做类似的事情,你应该使用hashmap.喜欢:
context = { "video" => [] }
name = "video"
context[name][0] = 1
Run Code Online (Sandbox Code Playgroud)