问题
I have a local variable name as a string, and need to get its value.
variable = 22
"variable".to_variable?
How can I get the value 22
form the string?
回答1:
You can use eval
.
variable = 22
eval("variable")
# => 22
However eval can be nasty. If you dont mind declaring an instance variable, you can do something like this too:
@variable = 22
str = "variable"
instance_variable_get("@#{str}")
# => 22
回答2:
binding.local_variable_get("variable")
# => 22
回答3:
use eval() method:
variable = 22
eval "variable" #"variable".to_variable?
# => 22
来源:https://stackoverflow.com/questions/30840127/get-value-from-string-representing-local-variable