【发布时间】:2015-11-15 19:41:45
【问题描述】:
我正在尝试让以下代码工作。
class Animal
end
class Tiger < Animal
@hunger = 100
def self.hunger
@hunger
end
def run
puts "The Tiger runs"
@hunger += 10
end
end
class Statistics
puts "This tigers hunger is: #{Tiger.hunger}"
end
tiger = Tiger.new()
tiger.run
所以老虎有一个名为hunger 的变量,它本身位于Tiger 类的顶部。我想这样做,以便可以在整个类方法中更改此变量。例如在run 中,饥饿设置为hunger += 10,但是当我运行此代码时,我得到一个undefined method '+' for nil:NilClass (NoMethodError)。我该怎么做才能使这个程序工作,以便可以更改变量然后在Statistics 类中显示?
【问题讨论】:
标签: ruby class variables scope