[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
objのクラスを返します。
(class-of 3) ⇒ #<class <integer>> (class-of "foo") ⇒ #<class <string>> (class-of <integer>) ⇒ #<class <class>> |
objがclassのインスタンスであるか、classのサブクラスの インスタンスである場合に、真を返します。
(is-a? 3 <integer>) ⇒ #t (is-a? 3 <real>) ⇒ #t (is-a? 5+3i <real>) ⇒ #f (is-a? :foo <symbol>) ⇒ #f |
objのクラスが再定義されてしまうと、これらの手続きは、最初に
objのクラスを新しいクラスに変更します。したがって、class-of
は
いつも新しいクラスを返します。この振舞いは stklos 0.55 とは異ります。
stklos 0.55 では class-of
は、objが更新されていなければ、
旧いクラスを返します。もし、旧いクラスが必要なばあいは、以下の
current-class-of
を使うべきです。クラス再定義のセマンティクスの
詳細については クラスの再定義 を見てください。
obj のクラスメタオブジェクトを返します。obj のクラスが 再定義されてしまった場合でも、obj がその変更に合せて更新されて いない場合には、この手続きは obj の元のクラスを返します。 この手続きは、obj を更新しません。
この手続きはめったに必要にはなりません。必要になるのは change-class
メソッド内で、obj の更新のトリガーを引きたくないような場合
(無限ループを起す可能性がある場合)です。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Shiro Kawai on November, 22 2009 using texi2html 1.78.