0

我开始更多地了解 Ruby 对象模型,并试图了解如何找到方法的流程。

据我了解,一个对象通过检查它的自身类(向右)来搜索方法,如果在那里找不到该方法,它会上升到祖先层次结构。

我感到困惑的是......当它查看一个类时,它是从下往上还是从上往下读取每个方法?

我想的是前者。但如果这是真的,那么我觉得这与我一直以来对如何从上到下阅读/解释程序的理解有悖常理。

有人可以证实我对此的理解。谢谢。

4

1 回答 1

3

后面的声明会覆盖前面的声明——

class Foo
  def hello
    'hello first'
  end

  def hello
    'hello second'
  end
end

f = Foo.new

puts f.hello # hello second
于 2012-05-12T02:11:23.287 回答