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?
binding.local_variable_get("variable")
# => 22
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
use eval()
method:
variable = 22
eval "variable" #"variable".to_variable?
# => 22
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With