私はそれを呼び出すことができる変数を持っています@foo
。文字列であると予想されるので、 を呼び出します@foo.downcase
。時々それはnilで、私はこのエラーを受け取ります:
NoMethodError: undefined method `downcase' for nil:NilClass
from (irb):4
from /Users/schneems/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>
私がやりたいことは、 nil が実際にあることを伝えるコードを書くことです@foo
NoMethodError: undefined method `downcase' on variable @foo, variable is a nil:NilClass
from (irb):4
from /Users/schneems/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>
このようなことを行うには、変数の名前をプログラムで取得する必要があります。
質問: Ruby でプログラム的に変数の名前を取得することは可能ですか?
次のような出力を生成するものを探しています。
@foo.magical_variable_method #=> '@foo'
bar.magical_variable_method #=> 'bar'
AweSome.magical_variable_method #=> 'AweSome'
$wat.magical_variable_method #=> '$wat'
変数の値は必要ありませんnil
。変数の人間が読める名前が必要です。プログラムでルビー変数の名前を取得することは可能ですか?