Get value from string representing local variable [duplicate]

試著忘記壹切 提交于 2019-12-21 04:06:32

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!