標準クラス・モジュール > 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"]
クラス・モジュール定義の中のように、self
がClass
/Module
オブジェクトである場所では、Class
/Module
クラスのprivate
メソッドを呼び出せます。attr_accessor
やinclude
はModule
クラスのprivate
メソッドです。
module Greeting attr_accessor :message end class Person include Greeting end
Module
クラスの親クラスはObject
クラスです。
Module < Object < Kernel (< BasicObject)
<, <=, >, >=
: 2つのクラスやモジュールの関係を調べる。<=>
: 2つのクラスやモジュールの関係を調べる。==
: 同じものか調べる。===
: クラスに属しているか調べる。ancestors
: 祖先クラスとモジュールの一覧を返す。autoload
: 定数に対応するファイルを自動ロードする。 autoload?
: 定数が自動ロードされるか調べる。class_eval
: クラスやモジュールの元でコードを実行。class_exec
: クラスやモジュールの元でコードを実行。Ruby 1.8.7class_variable_defined?
: クラス変数があるか調べる。class_variables
: クラス変数名の一覧を返す。const_defined?
: 定数があるか調べる。const_get
: 定数の値を得る。const_set
: 定数を設定する。constants
: 定数名の一覧を返す。freeze
: クラスやモジュールを凍結する。include?
: モジュールをインクルードしているか調べる。included_modules
: インクルードしているモジュールの一覧を返す。instance_method
: メソッドからUnboundMethod
オブジェクトを作成。instance_methods
: メソッドの名前を配列で返す。 method_defined?
: メソッドがあるか調べる。module_eval
: クラスやモジュールの元でコードを実行。module_exec
: クラスやモジュールの元でコードを実行。Ruby 1.8.7name
: クラスやモジュールの名前を返す。private_class_method
: クラスメソッドをprivate
にする。private_instance_methods
: private
メソッドの名前を配列で返す。private_method_defined?
: private
メソッドがあるか調べる。protected_instance_methods
: protected
メソッドの名前を配列で返す。protected_method_defined?
: protected
メソッドがあるか調べる。public_class_method
: クラスメソッドをpublic
にする。public_instance_method
: public
メソッドからUnboundMethod
オブジェクトを作成。Ruby 1.9public_instance_methods
: public
メソッドの名前を配列で返す。public_method_defined?
: public
メソッドがあるか調べる。to_s
: クラスやモジュールを表す文字列を返す。以下のメソッドは、Ruby 1.8ではprivate
でしたが、Ruby 1.9ではpublic
になりました。
class_variable_get
: クラス変数の値を得る。class_variable_set
: クラス変数を設定する。remove_class_variable
: クラス変数の削除。alias_method
: メソッドに別名を付ける。attr
: インスタンス変数のアクセサを定義する。attr_accessor
: インスタンス変数のアクセサを定義する。 attr_reader
: インスタンス変数の読み出し専用アクセサを定義する。attr_writer
: インスタンス変数の書き込み専用アクセサを定義する。define_method
: メソッドを定義する。include
: モジュールをインクルードする。module_function
: モジュールのメソッドをモジュール関数にする。private
: メソッドをprivate
にする。protected
: メソッドをprotected
にする。public
: メソッドをpublic
にする。remove_const
: 定数の削除。remove_method
: メソッドの削除。undef_method
: メソッドを未定義にする。append_features
: インクルードされる前に呼ばれる。const_missing
: 存在しない定数を参照したときに呼ばれる。included
: インクルードされたあとで呼ばれる。extended
: オブジェクトに取り込まれたあとで呼ばれる。extend_object
: オブジェクトに取り込まれる前に呼ばれる。method_added
: メソッドを定義したときに呼ばれる。method_removed
: メソッドを削除したときに呼ばれる。method_undefined
: メソッドを未定義にしたときに呼ばれる。