Kernel and
Nilを除く,全てのクラス
のスーパクラス.このクラスはオブジェクトの一般的な振舞
いを定義しています.
Kernel
self == other
二つのオブジェクトが等しいかどうかを判定します.
Kernelクラスでの定義は二つのオブジェクトが同じ
オブジェクトIDを持つかどうかで判定しています.このメソッドは
それぞれのクラスでその性質に合わせて再定義されるべきです.
self === other
このメソッドはcase文での比較に用いられ
ます.デフォルトは==と同
じ働きをします.
clone
dup
オブジェクトの複製を作ります.複製については
obj == obj.clone
はいつも成立しますが,
obj.equal?(obj.clone)
は一般的には成立しません.
eql?(other)
二つのオブジェクトが等しいかどうかを判定します.このメソッド
はHashでふたつのキーが
等しいかどうかを判定するのに使われます.このメソッドを再定義
した時には hash メソッドも
再定義しなければなりません.
eql?のデフォルトの定義はeqaul?と同
じくオブジェクトの同一性判定になっています.
equal?(other)
二つのオブジェクトが同じオブジェクトIDをとっている時真を返し ます.このメソッドを再定義するべきではありません.
extened(module...)
引数で指定したモジュールをで定義されているメソッドが
selfの特異メソッドとして追加されます.
hash
オブジェクトのハッシュ値を返します.
Hashクラスでオブジェク
トを格納するのに用いられています.A.eql?(B)が成
立する時は必ずA.hash == B.hashが成立する必要が
あるので,eql?を再定義した時には必ずこちらもそ
れに合わせて再定義してください.
id
各オブジェクトについて一意の整数値を返します.
initialize(...)
ユーザ定義クラスのオブジェクト初期化メソッド.このメソッドは
Class#newから新し
く生成されたオブジェクトの初期化のために呼び出されます.デフォ
ルトの動作ではなにもしません.サブクラスではこのメソッドを必
要に応じて再定義されることが期待されています.initializeには
Class#newに与えられた引数が
そのまま渡されます.
inspect
オブジェクトを人間が読める形式の文字列に変換します.
instance_of?(class)
オブジェクトselfがクラスclassのイン
スタンスである時,真を返します.
obj.instance_of?(c)が成立する時には,いつも
obj.kind_of?(c)も成立します.
kind_of?(class)
is_a?(class)
オブジェクトselfがクラスclassかそのサブクラスのインスタン
スである時,真を返します.
method_missing(msg_id, ...)
メソッドが定義されていなかった時,このメソッドが呼び出されま す.msg_idはメソッド名(シンボル)で,引数が残りの 引数として渡されます.
nil?
レシーバが nil かどうかをチェックします.
type
レシーバのクラス名を返します.
respond_to?(mesg[,priv])
オブジェクトがmesgで指定される public メソッドを持 つ時,真を返します.mesgはシンボル(Fixnum)または 文字列です.省略可能な引数privが与えられ,その値 が真である時,private メソッドに対しても真を返します.
send(symbol[, args...])
symbolで指定されるメソッドを引数argsと ともに呼び出します.イテレータとして呼び出された時には指定さ れたメソッドをイテレータ呼出しします.
to_s
to_a
オブジェクトを配列に変換します.普通に配列に変換できないよう なオブジェクトは自身を含む1要素の配列に変換されます.