我有一个变量,可以调用它@foo
。我希望它是一个字符串,所以我调用@foo.downcase
. 有时它为零,我会得到这个错误:
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
. 我想要变量的人类可读名称。是否有可能以编程方式获取变量的名称?