クラスの中にモジュールをインクルードする
広告
今度はモジュールの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 )