概要
Rubyのモジュールについて。
モジュール
Moduleはインスタンスを持ちません。
Moduleはクラスにincludeして、継承関係を意識せずに利用が可能です。
用途としては
モジュールの用途1:名前空間の確保
モジュールの用途2:Mix-in
モジュールの用途3:定数クラスやユーティリティークラスの代わり
などがあります。
モジュールの構文
モジュールの構文は以下です。
内部でクラスやメソッドや定数を保持出来ます。
module モジュール名 CONST = "定数" class クラス名 end def self.メソッド名 end def メソッド名 end end
サンプルコード
main
# encoding: Shift_JIS module ModuleTest CONST = "CONST" def self.module_test(str) puts "#{str}Hello" end class ModuleClass @str def initialize(str) @str=str end def test_message () return "test_message #{@str}" end end end puts ModuleTest::CONST str = "Hoge" puts ModuleTest::module_test str module_class = ModuleTest::ModuleClass.new "test" puts module_class.test_message