Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Ruby オブジェクトのクラスを調べるには?

2010年02月03日 by yieldjing | Ruby


Rubyでは変数の型を宣言しないです。

そのため、オブジェクトは実際に何型かがわからない時が多いです。

オブジェクトのクラスを調べるには以下の三つの方法があります。

class

オブジェクトのクラスを調べられます。

返された結果はクラス名です。

例:

"文字列です。".class

出力結果:string

kind_of?

オブジェクトは特定のクラス又はそのサブクラスのインスタンスかどうかを調べられます。

モジュールに関しても、調べられます。

返された結果はtrue又はflaseです。

例:

"文字列です。".kind_of?(String)

出力結果:true

ちなみに、is_a?メソッドもあります。kind_of?の使い方と同じです。

instance_of?

オブジェクトは特定のクラスのインスタンスかどうかを調べられます。

kind_of?との区別は、サブクラスを含まらないことです。

つまり、kind_of?はサブクラスまで調べられますが、

instance_of?は特定のクラスだけ、サブクラスを調べられないです。

返された結果はtrue又はflaseです。

例:

"文字列です。".instance_of?(String)

出力結果:true

Tags:

You can leave a response, or trackback from your own site.

関連記事