●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyのモジュール(Module)とは?コードを整理・共有する仕組みを学ぼう!

Rubyには、複数のクラス間で共通の機能を使いまわせるモジュール(Module)という便利な仕組みがあります。 モジュールを使うことで、コードの再利用や整理がしやすくなります。

モジュールとは?

モジュール(Module)とは、メソッドや定数をまとめた名前空間のようなものです。 クラスとは違い、インスタンスを生成することはできませんが、クラスに組み込むことで機能を追加できます。

モジュールの定義と使用例

module Greet
  def hello
    puts "こんにちは!"
  end
end

このように、module モジュール名で定義します。 次に、これをクラスに組み込むことでメソッドを使えるようになります。

ミックスイン(Mixin)の使い方

class Person
  include Greet
end

p = Person.new
p.hello  # → こんにちは!

include を使ってクラスにモジュールを組み込むことをミックスイン(Mixin)と呼びます。 これにより、クラスにモジュールのメソッドを追加できます。

モジュールの別の使い方:名前空間

モジュールは名前の衝突を避けるための名前空間としても使えます。

module Animal
  class Dog
    def bark
      puts "ワンワン!"
    end
  end
end

a = Animal::Dog.new
a.bark  # → ワンワン!

Animal::Dog のように、モジュールを使うことで名前を整理できます。

extendでクラスメソッドとして使う

module Greet
  def hello
    puts "こんにちは!"
  end
end

class Robot
  extend Greet
end

Robot.hello  # → こんにちは!

extend を使うと、クラスメソッドとしてモジュールを使うことができます。

モジュールの特徴まとめ

  • インスタンス化できない(クラスと違う)
  • 複数のクラスに共通の機能を提供できる
  • include でインスタンスメソッドとして追加
  • extend でクラスメソッドとして追加
  • 名前空間としても使える

まとめ

Rubyのモジュール(Module)は、機能を共通化・整理するための重要な仕組みです。 複数のクラスで同じ機能を使いたいときや、コードの重複を減らしたいときにとても役立ちます。

まずは includeextend の違いを理解し、簡単なモジュールを自分で作って試してみましょう!