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

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

variable = 22 "variable".to_variable? 

如何从字符串中获取值22

你可以使用eval

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

然而, eval可能是令人讨厌的 。 如果你不介意声明一个实例变量,你也可以这样做:

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

使用eval()方法:

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