の値を使用して変数として変数名にRuby
-
22-09-2019 - |
質問
私はとって、学習Ruby-コンテンツビジネスからプログラムを生成する一部の番号付けをしてい変数は@、@、@三等ユーザーを指定変数の変更による入力での名前(e.g)してご利用いただけます。それだ'@[valueofinout]=asd'.どういうことはありまえのおうと思っているようで意欲?がその場で発音を確認することが
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
もしっかり身につけるた全てのラインが必要です。私の場合はご利用頂きたいようなもの
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto
解決
使用 instance_variable_set
(rubydoc)
instance_variable_set("@" + varname, value)
ほとんどの場合も、別途ご通常のRubyの変数から変数のユーザーと相互作用をする。どの作成のハッシュのユーザ変数は、例えば
@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
他のヒント
インスタンス変数はこの方法を介して取得することができます:
input = instance_variable_get("@one")
この後、あなたのケースであなたはinput
があるでしょう "21" に等しいます。
所属していません StackOverflow