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要素の配列に変換されます.