0
如果我有以下項目結構ruby在遇到「include module」語句時包含了什麼?
project/ lib/ subproject/ a.rb b.rb lib.rb
其中lib.rb看起來是這樣的: -
module Subproject
def foo
do_some_stuff
end
end
和a.rb和b.rb都需要混入lib.rb內的一些方法並且都在一個模塊內的命名空間,如下所示: -
require 'subproject/lib'
module Subproject
class A
include Subproject
def initialize()
foo()
end
end
end
是什麼紅寶石做的,當它遇到包含語句?它是如何知道我只想包含lib.rb中的mixin而不是包含A類和B類的整個模塊,這是純粹基於subproject/lib的要求還是我錯了,它是包括整個模塊,包括A類和B類的定義在內?
所以,如果我只是想包括lib.rb功能,然後我有一個名爲SubprojectLib或類似的模塊來定義它,只是包括? – 2010-03-18 10:53:50
這是正確的。 – 2010-03-18 11:08:24