从表示局部变量的字符串中获取值

Get value from string representing local variable

我有一个字符串形式的局部变量名称,需要获取它的值。

variable = 22
"variable".to_variable?

如何从字符串中获取值 22

使用eval()方法:

variable = 22
eval "variable" #"variable".to_variable?
# => 22

您可以使用 eval.

variable = 22
eval("variable")
# => 22 

不过eval can be nasty。如果你不介意声明一个实例变量,你也可以这样做:

@variable = 22
str = "variable"
instance_variable_get("@#{str}")
# => 22
binding.local_variable_get("variable")
# => 22