Written by Kasumi

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を使って、定数やメソッドをまとめて格納。格納したメソッドを呼び出す方法について紹介しました。

以上で解説を終わります。

目次

関連記事

Ruby

Rubyでクラスの呼び出し時、必ず実行する処理(初期化)を設定する方法【initializeメソッド】

2022.08.16
189
Ruby

Rubyでインスタン変数の値をオブジェクトの外から参照・編集する方法

2022.08.21
152
Ruby

Rubyで配列要素を昇順・降順でソートする方法【sortメソッドを使おう】

2022.08.03
314
Ruby

Rubyで文字列を分割。配列に変換する方法

2022.07.30
221