Rubyリファレンス: Home

Module

Edit   History

標準クラス・モジュール > Module

Moduleクラスは、クラスとモジュールを表すクラスです。ClassクラスはModuleのサブクラスで、クラスだけを表します。

クラス・モジュールを定義すると、クラス名・モジュール名はClass/Moduleオブジェクトを指す変数(定数)になります。Class/Moduleオブジェクトをレシーバにすれば、Class/Moduleクラスのpublicメソッドを呼び出せます。

module Greeting
  def greet() "hello" end
end
class Person
  def name() "k-sato" end
end
 
p Greeting.instance_methods(false)
p Person.instance_methods(false)
["greet"]
["name"]

クラス・モジュール定義の中のように、selfClass/Moduleオブジェクトである場所では、Class/Moduleクラスのprivateメソッドを呼び出せます。attr_accessorincludeModuleクラスのprivateメソッドです。

module Greeting
  attr_accessor :message
end
class Person
  include Greeting
end

親クラスとモジュール

Moduleクラスの親クラスはObjectクラスです。

Module < Object < Kernel (< BasicObject)

メソッド一覧

クラスメソッド

publicなインスタンスメソッド

以下のメソッドは、Ruby 1.8ではprivateでしたが、Ruby 1.9ではpublicになりました。

privateなインスタンスメソッド

Rubyから呼び出されるメソッド