icon Ruby 练习问题集

类变量与类方法

执行下面的程序的话便发生了错误。请将程序进行修改以能正确运行。

class Robot
  def self.ping
    @@count += 1
  end

  def count
    @@count
  end
end

r1 = Robot.new
r1.ping

r2 = Robot.new

r2.ping
r1.ping

puts Robot.count

Robot类本来的形式是像下面这样:

  • 调用实例方法ping的话类的共有计数器便增加1个。
  • 调用类方法count的话便返回现在计数器的值。

在终端执行此程序的话,画面上显示3。

--
黒田努


解答与说明的显示・隐藏

(2009/07/30)