は、動的のような名前の変数のですか?名前インスタンス変数を動的ルビー
-1
A
答えて
0
あなたは本当にできません。
あなたはeval
で遊ぶことができますが、実際はそれは読めません。
正しいif
を使用するか、代わりにハッシュを使用してください。
# With Hash:
values = {}
a = :foo
values[a] = "bar"
values[:foo] # => "bar"
# With if
calc = "bar"
if a_is_foo
foo = calc
else
oof = calc
end
foo # => "bar"
2
私が正しく理解していれば、あなたが "instance_variable_set" を使用したい:
class A
end
a = A.new
a.instance_variable_set("@whatever", "foo")
a.instance_variable_get("@whatever") #=> "foo"
5
使用instance_variable_set
を。
varname = '@foo'
value = 'bar'
self.instance_variable_set varname, value
@foo # => "bar"
それとも、呼び出し側が「@」を供給する必要がしたくない場合:[Rubyで動的に設定されたローカル変数]の
varname = 'foo'
value = 'bar'
self.instance_variable_set "@#{varname}", value
@foo # => "bar"
関連する問題
- 1. Rubyのメタプログラミング:動的なインスタンス変数名
- 2. php - 動的変数名を前にチェック
- 3. Accessインスタンス変数の値:ルビー
- 4. PLSQL動的SQLバインド変数(名前で)
- 5. ルビー - クラスとインスタンス変数変数
- 6. 変数DisplayAttributeの名前、動的表示名
- 7. インスタンス変数とルビーのシンボル(form_for)
- 8. モデル法やコントローラのインスタンス変数、ルビー3
- 9. 変数名を動的
- 10. MySQLのストアド関数 - 動的/変数のテーブルとカラムの名前
- 11. 変数に動的に名前を付ける?
- 12. 数値の中にPythonキーの名前を動的に変更
- 13. HTML5/JavaScript:localStorageに動的変数の名前と値を格納
- 14. Javascriptオブジェクト:動的変数名?
- 15. Javascriptの動的変数名
- 16. 動的変数名javascript MVC
- 17. Rubyの動的変数名
- 18. 自動スケーリングのインスタンス名を動的に変更する方法
- 19. は動的ルビー
- 20. は動的ルビー
- 21. Coldfusion - 構造体と動的変数の名前
- 22. ツリーの動的変数の名前付け[Python]
- 23. logstash名前フィールドを動的
- 24. クラス名を格納する変数を使用したクラスの動的インスタンス化
- 25. python:変数を含む名前を使用してインスタンス変数にアクセスする
- 26. ルビー - 動的SQLクエリ
- 27. 関数内の動的変数名R
- 28. 名前が与えられたインスタンス変数の値を取得
- 29. PHP:変数の名前を動的に変更できますか?
- 30. インスタンスの名前の変更/エイリアス(Pythonで)
可能重複(http://stackoverflow.com/questions/4963678/dynamic-set-local-variables-in-ruby) – coreyward