Rubyのモジュール

2020-09-30 hit count image

Rubyのモジュールが何かどう使うかを説明します。

概要

このブログではRubyでモジュールが何か、どう使うかについて説明します。

モジュール

モジュール(Module)は色んな処理を集めたもので、Module文を使って定義します。

module ModuleName
...
end

モジュールは大文字で始めます。

ネームスペース

ネームスペース(Namespace)は同じ名前ですが意味が違う空間名をつけて判別する機能を言います。Rubyではモジュールを使ってメソッドや定数、クラスの名前がコンフリクトされないようにすることができます。

モジュールが提供する定数やメソッドは下記のように参照することができます。

Math::PI
Math.sqrt(2)

モジュール中で定数は::で参照して、関数の場合は.を使って参照します。同じモジュールの定数と関数をたくさん参照する場合は下記のようにincludeを使って参照することもできます。

include Math

PI
sqrt(2)

モジュール定義

上で見たように、.を使ってモジュールの関数を使うことができます。しかし、単純にモジュールへ関数を定義することで上のように使えません。

モジュール中へ定義した関数を.を使って外部から使えるようにするためにはmodule_functionを使う必要があります。

module Greeting
  def hello
    puts "Hello"
  end

  module_function :hello
end

Gretting.hello

Mix-in

クラス定義中ではincludeを使ってモジュールを呼び出すことをMinx-inと言います。

module Greeting
  def hello
    puts "Hello"
  end
end

class World
  include Greeting
end

world = World.new
world.hello

完了

これでRubyでモジュールを定義して使う方法について見てみました。今後、色んな処理を1つでまとめる必要がある場合、モジュールを使ってみてください。

私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!

Posts