ruby 1.8 undefined方法`instance_variable_defined?'

时间:2011-06-18 22:52:59

标签: ruby

我一直在研究我的Ruby。当试图从Ruby Object documentation执行这个简单的例子时,我收到了这个错误:

  

未定义的方法`instance_variable_defined?'

这是我的代码:

class Fred
  def initialize(p1, p2)
    @a, @b = p1, p2
  end
end

fred = Fred.new('cat', 99)
fred.instance_variable_defined?(:@a)    #=> true
fred.instance_variable_defined?("@b")   #=> true
fred.instance_variable_defined?("@c")   #=> false

我做错了什么?我在另一台使用Ubuntu 10.04的机器上进行了测试,它运行正常。我顺便使用Centos 5.5。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我唯一能想到的是你使用的是古老版本的Ruby(1.8.5或更早版本),因为Object#instance_variable_defined?自1.8.6以来一直在Ruby中。