全てのクラスのスーパークラス.このクラスはオブジェクトの一般的 な振舞いを定義しています.
Kernel
self == other
二つのオブジェクトが等しいかどうかを判定します.
Kernel
クラスでの定義は二つのオブジェクトが同じ
オブジェクトIDを持つかどうかで判定しています.このメソッドは
それぞれのクラスでその性質に合わせて再定義されるべきです.
self =~ other
古いタイプの正規表現比較obj =~ /RE/
をサポートす
るためのメソッドです.デフォルトは
==
と同じ働きをします.
self === other
このメソッドはcase
文での比較に用いられます.デフォルトは
==
と同じ働きをしますが,
この挙動はサブクラスで所属性のチェックを実現するため
適宜再定義されます.
clone
dup
オブジェクトの複製を作ります.複製については
はいつも成立しますが,obj == obj.clone
は一般的には成立しません.obj.equal?(obj.clone)
dup
は
と定義されています.def dup self.clone end
clone
やdup
はオブジェクトをコピーし
ますが,オブジェクトの指している先まではコピーしません(つま
りshallow copy).
display([out])
オブジェクトをoutに出力します.outの省
略値は$>
です.
def display(out=$>) out.print self end public :display
eql?(other)
二つのオブジェクトが等しいかどうかを判定します.このメソッド
はHash
でふたつのキーが
等しいかどうかを判定するのに使われます.このメソッドを再定義
した時には hash
メソッドも
再定義しなければなりません.
eql?
のデフォルトの定義はeqaul?
と同
じくオブジェクトの同一性判定になっています.
equal?(other)
二つのオブジェクトが同じオブジェクトIDをとっている時真を返し ます.このメソッドを再定義するべきではありません.
extend(module...)
引数で指定したモジュールで定義されているメソッドが
self
の特異メソッドとして追加されます.
hash
オブジェクトのハッシュ値を返します.
Hash
クラスでオブジェク
トを格納するのに用いられています.A.eql?(B)
が成
立する時は必ずA.hash == B.hash
が成立する必要が
あるので,eql?
を再定義した時には必ずこちらもそ
れに合わせて再定義してください.
id
各オブジェクトについて一意の整数値を返します.
initialize(...)
ユーザ定義クラスのオブジェクト初期化メソッド.このメソッドは
Class#new
から新し
く生成されたオブジェクトの初期化のために呼び出されます.デフォ
ルトの動作ではなにもしません.サブクラスではこのメソッドを必
要に応じて再定義されることが期待されています.initialize
には
Class#new
に与えられた引数が
そのまま渡されます.
initialize
という名前を持つメソッドは自動的に
privateに設定されます.
inspect
オブジェクトを人間が読める形式の文字列に変換します.
instance_eval(expr)
instance_eval{...}
オブジェクトのコンテキスト(self
がオブジェクトに
設定されているメソッド内と同じコンテキスト)でexpr
として与えられた文字列を評価します.ブロックが与えられた場合
には文字列ではなくブロックをオブジェクトのコンテキストで評価
しますので,毎回文字列をコンパイルする必要がありません.
self
が置き換えられるの
で呼び出されるメソッドやインスタンス変数も変わってしまうこと
に注意してください.
instance_of?(class)
オブジェクトself
がクラスclassのイン
スタンスである時,真を返します.
obj.instance_of?(c)
が成立する時には,いつも
obj.kind_of?(c)
も成立します.
instance_variables()
オブジェクトself
のインスタンス変数の一覧を配列
として返します.
kind_of?(class)
is_a?(class)
オブジェクトself
がクラスclassかそのサブクラスのインスタン
スである時,真を返します.
method_missing(msg_id, ...)
メソッドが定義されていなかった時,このメソッドが呼び出されま す.msg_idはメソッド名(シンボル)で,引数が残りの 引数として渡されます.
methods
そのオブジェクトが理解できるpublicメソッド名の一覧を配列とし て返します.
nil?
レシーバが nil
かどうかをチェックします.
private_methods
そのオブジェクトが理解できるprivateメソッド名の一覧を配列とし て返します.
remove_instance_variable(var)
そのオブジェクトから指定した名前のインスタンス変数を取り除き ます.そのオブジェクトがその名前のインスタンス変数を持ってい なくても例外などを発生させません.
respond_to?(mesg[,priv])
オブジェクトがmesgで指定される public メソッドを持 つ時,真を返します.mesgはシンボル(Fixnum)または 文字列です.省略可能な引数privが与えられ,その値 が真である時,private メソッドに対しても真を返します.
send(symbol[, args...])
symbolで指定されるメソッドを引数argsと ともに呼び出します.イテレータとして呼び出された時には指定さ れたメソッドをイテレータ呼出しします.
singleton_method_added(id)
特異メソッドが追加された時にインタプリタから呼び出されます.
singleton_methods
そのオブジェクトに対して定義されている特異メソッド名の一覧を 配列として返します.
taint
オブジェクトの「汚染マーク」をセットします.
tainted?
オブジェクトの「汚染マーク」がセットされている時真を返します.
to_s
to_a
オブジェクトを配列に変換します.普通に配列に変換できないよう なオブジェクトは自身を含む1要素の配列に変換されます.
type
レシーバのクラスを返します.
untaint
オブジェクトの「汚染マーク」を取り除きます.汚染マークを取り 除くことによる危険性はプログラマが責任を負う必要があります. セキュリティレベルが3以上の場合は取り除くことができません.