单线与多线包含模块的区别

时间:2016-05-18 12:35:53

标签: ruby

class MyClass
  include MyModule1
  include MyModule2
  include MyModule3
end

class MyClass
  include MyModule1, MyModule2, MyModule3
end

所有模块都有一个共同的方法test。在多行访问时,它从包含的最后一个模块调用test方法,但在单行include的情况下,它从包含的第一个模块调用该方法。任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:5)

来自Module#include

  

反向顺序为每个参数调用Module.append_features