次のプロジェクト構造がある場合
事業/ ライブラリ/ サブプロジェクト/ a.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
include ステートメントに遭遇したとき、ruby は何をしますか? クラスAとクラスBの両方を含むモジュール全体ではなく、lib.rbからのミックスインのみを含めたいことをどのように知っていますか?これは純粋にsubproject/libのrequireに基づいていますか、それとも間違っていますクラスAとBの定義を含めて、モジュール全体を含めますか?