クラスの中にモジュールをインクルードする
広告
今度はモジュールの2番目の使い方としてクラスの中にインクルードする方法を確認します。(Rubyではクラスの中にモジュールをインクルードして使用することを「Mix-in」と読んでいるようです)。
例として次のようなモジュールを作成します。
module SuuchiModule
def minValue(x, y)
if x < y
return x
else
return y
end
end
end
クラスの中でモジュールを利用できるようにするにはクラスの中に次のように記述します。
include モジュール名
インクルードされたモジュールはクラス内のインスタンスメソッドと同じように実行する事が出来ます。例えば次のようなクラスを作成してみます。
class Test
include SuuchiModule
def dispValue(x, y)
min = minValue(x, y)
print("2つの値", x, "と", y, "の中で小さい値は", min, "です¥n")
end
end
このクラスでは「SuuchiModule」モジュールをインクルードしていますのでモジュールの中に定義された「minValue」メソッドをクラス内で実行したりクラスのオブジェクトから実行することが出来るようになります。
サンプルプログラム
では実際にサンプルプログラムを作成してみます。
module SuuchiModule
def minValue(x, y)
if x < y
return x
else
return y
end
end
end
class Test
include SuuchiModule
def dispValue(x, y)
min = minValue(x, y)
print("2つの値", x, "と", y, "の中で小さい値は", min, "です¥n")
end
end
test = Test.new
test.dispValue(10, 8)
上記を実行すると次のように表示されます。
( Written by Tatsuo Ikura )
RubyLife