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

时间:2015-06-15 08:03:05

标签: ruby local-variables

我有一个本地变量名作为字符串,需要获取它的值。

variable = 22
"variable".to_variable?

如何从字符串中获取值22

3 个答案:

答案 0 :(得分:27)

binding.local_variable_get("variable")
# => 22

答案 1 :(得分:1)

使用eval()方法:

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

答案 2 :(得分:1)

您可以使用eval

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

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

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