Using the value of a variable as another variables name in Ruby

帅比萌擦擦* 提交于 2019-11-30 04:46:36

Use instance_variable_set (rubydoc)

instance_variable_set("@" + varname, value)

In most cases though, you should separate your normal Ruby variables from the variables your user is interacting with. How about creating a Hash of user variables, e.g.

@uservars = { 'one' => 1, 'two' => 2 }
two = @uservars['two']   # Look up 'two' variable

varname = "myvar"
@uservars[varname] = 5   # Set a variable by name
value = @uservars[varname]  # Get a variable by name 

Instance variables can be retrieved via this method:

input = instance_variable_get("@one")

After this, in your case you'll have input equal to "21".

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