標準クラス・モジュール > Object
Objectクラスは、すべてのクラスの親クラスです。
すべてのオブジェクトは、下記の一覧に示したObjectクラスのメソッドを呼び出せます。たとえば、文字列(Stringオブジェクト)と自作のCatクラスのオブジェクトは、どちらもobject_idを呼び出せます。
str = "hello" p str.object_id class Cat end cat = Cat.new p cat.object_id
26029092 26029032
Objectの直接のサブクラスでなくても、親の親をさかのぼっていけばObjectに行き当たります。また、クラス定義で「class クラス」に「< 親クラス」を付けないときは、自動的にObjectクラスのサブクラスになります。次の例では、kind_of?メソッドで親クラスにObjectクラスがあるか調べています。
p str.kind_of?(Object) p cat.kind_of?(Object)
true true
ObjectクラスはKernelモジュールをインクルードしています。親クラスはありません。
Ruby 1.9 Ruby 1.9ではBasicObjectクラスがObjectクラスの親クラスになりました。==などいくつかのメソッドはBasicObjectに移されました。
Object < Kernel (< BasicObject)
new : インスタンスの作成。これらのメソッドは、実際にはKernelモジュールのpublicなメソッドとして実装されていますが、一般的にObjectクラスのメソッドとして扱われます。また、この一覧にはBasicObjectのメソッドも混ぜてあります。
! : 否定。Ruby 1.9!= : 別のものか調べる。Ruby 1.9!~ : パターンマッチの否定。Ruby 1.9== : オブジェクトの内容が同じか調べる。=== : case式でオブジェクトをテストする。=~ : パターンマッチ。__id__ : オブジェクトIDを返す。__send__ : メソッドを呼び出す。class : オブジェクトのクラスを返す。clone : オブジェクトのコピーを作成する。define_singleton_method : 特異メソッドを定義する。Ruby 1.9display : オブジェクトを文字列として出力する。dup : オブジェクトのコピーを作成する。eql? : ハッシュのキーとして同じか調べる。equal? : 同じオブジェクトか調べる。enum_for : Enumeratorオブジェクトの作成。Ruby 1.8.7extend : モジュールのメソッドを取り込む。freeze : オブジェクトを凍結する。frozen? : オブジェクトの凍結状態を調べる。hash : ハッシュ値を返す。id : オブジェクトIDを返す。inspect : 読みやすい文字列に変換。instance_eval : インスタンスの元でコードを実行。instance_exec : インスタンスの元でコードを実行。Ruby 1.8.7instance_of? : クラスに属しているか調べる。instance_variable_defined? : インスタンス変数があるか調べる。instance_variable_get : インスタンス変数の値を得る。instance_variable_set : インスタンス変数の値を変える。instance_variables : インスタンス変数の名前を配列で返す。is_a? : クラスに属しているか調べる。kind_of? : クラスに属しているか調べる。method : メソッドからMethodオブジェクトを作成。methods : メソッドの名前を配列で返す。nil? : nilかどうか調べる。object_id : オブジェクトIDを返す。private_methods : privateなメソッドの名前を配列で返す。protected_methods : protectedなメソッドの名前を配列で返す。public_method : publicなメソッドからMethodオブジェクトを作成。Ruby 1.9public_methods : publicなメソッドの名前を配列で返す。public_send : publicなメソッドを呼び出す。Ruby 1.9respond_to? : メソッドを呼び出せるか調べる。send : メソッドを呼び出す。singleton_class : 特異クラスを返す。Ruby 1.9.2singleton_methods : 特異メソッドの名前を配列で返す。taint : オブジェクトを汚染する。tainted? : 汚染状態を調べる。tap : ブロックに自身を渡し、自身を返す。Ruby 1.8.7to_a : 配列に変換。to_enum : Enumeratorオブジェクトの作成。Ruby 1.8.7to_s : 文字列に変換。trust : 信頼される状態に戻す。Ruby 1.9type : オブジェクトのクラスを返す。untaint : オブジェクトの汚染を除く。untrust : オブジェクトを信頼されない状態にする。Ruby 1.9untrusted? : 信頼状態を調べる。Ruby 1.9remove_instance_variable : インスタンス変数の削除。initialize : オブジェクトを作成(new)するとき呼ばれる。initialize_copy : オブジェクトをコピー(clone、dup)するとき呼ばれる。method_missing : メソッドが見つからないとき呼ばれる。respond_to_missing? : respond_to?がfalseのとき呼ばれる。Ruby 1.9.2singleton_method_added : 特異メソッドを定義するとき呼ばれる。singleton_method_removed : 特異メソッドを削除するとき呼ばれる。singleton_method_undefined : 特異メソッドを未定義にするとき呼ばれる。