-
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
-
オブジェクトの文字列表現を返します.このメソッドは
print
や
sprintf
の
内部で使われています.
-
to_a
-
オブジェクトを配列に変換します.普通に配列に変換できないよう
なオブジェクトは自身を含む1要素の配列に変換されます.
type
-
レシーバのクラスを返します.
untaint
-
オブジェクトの「汚染マーク」を取り除きます.汚染マークを取り
除くことによる危険性はプログラマが責任を負う必要があります.
セキュリティレベルが3以上の場合は取り除くことができません.