我有一个变量叫它@foo
。我期望它是一个字符串,所以我打电话@foo.downcase
。有时是零,我会得到这个错误:Ruby中的Self的变量名称
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>
我想要做的就是编写一些代码来告诉我,零实际上是@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
。我想要这个变量的人类可读的名字。是否有可能通过编程方式获得变量的名称?
你能澄清你想要的东西多一点?你在寻找一种方法来查看'@ foo'是否为'nil',或者寻找一种方法来返回所有当前为'nil'的变量?或者也许完全是另一回事? – redhotvengeance
我更新了这个问题,希望能更清楚一点,谢谢你的提问。 – Schneems
看看这个http://stackoverflow.com/questions/58482/ruby-get-a-variables-name – shime