ABCのようなネーミングシステムを扱うのは難しいです)
各クラスに10個のモジュールを含める場合は、この方法で行うことができます。モジュールがModuleTest::Files
あり、ModuleTest::Network
:
module_test/network.rb内
module ModuleTest
module Network
def network
puts 'hello from ModuleTest::Network#network'
end
end
end
module_test/files.rb内
module ModuleTest
module Files
def files
puts 'hello from ModuleTest::Files#files'
end
end
end
ModuleTest::Base
次のようなクラスを作成できます。
require 'module_test/files'
require 'module_test/network'
module ModuleTest
class Base
include Files
include Network
end
end
このクラスには、所有しているすべての機能が含まれているため、クラスを継承します。
require 'module_test/base'
class Foo < ModuleTest::Base
end
foo = Foo.new
foo.network
foo.files
出力:
>ruby -I. foo.rb
hello from ModuleTest::Network#network
hello from ModuleTest::Files#files