Rubyで定数やメソッドをまとめてmodule化する方法

Rubyで共通の箇所で使う定数やメソッドをまとめて格納・パーツ化する方法を知りたい。
本記事ではmoduleを使ってこの様な悩みを解決。
moduleの概要、実装方法について解説します。
moduleとは?
moduleとは定数やメソッドをまとめる機能の事を言います。
moduleで定義した定数やメソッドをクラスなどで共有する事ができます。
moduleとclassの違い
moduleではclassと違い、継承(親クラスを継承して子クラスを作るなど)とインスタンス化(メソッドを実体化)する事が出来ません。
ただしMix-in機能(モジュールを取り込む)を使えば、クラスなどを経由してmoduleで定義したメソッドを呼び出す事ができます。
moduleの使い方
#モジュールを定義
module Greeting
def introduction(message)
puts "#{message}。#{@name}です。"
end
end
# モジュールをクラスに組み込む
class Name
#モジュールを組み込む
include Greeting
def initialize(name)
@name = name
end
end
# インスタンス化
hello = Name.new("カスミ")
hello.introduction("こんにちは")
moduleを使ったコード例です。
定義したmoduleをクラスに共有。
クラスをインスタンス化してmoduleのメソッドを実行してます。
moduleの使い方は以下の通りです。
module モジュール名
処理
end
モジュール名の頭文字は大文字にします。
モジュールにまとめたい定数・メソッドの処理を定義。
endで閉じます。
モジュールを読み込む際はincludeを使います。
include モジュール名
以上でモジュールで定義したメソッドを呼び出す事に成功しました。
まとめ
Rubyのmoduleを使って、定数やメソッドをまとめて格納。格納したメソッドを呼び出す方法について紹介しました。
以上で解説を終わります。