オブジェクトからクラスの名前を抽出する方法は?
たとえば、確かに List クラスのインスタンスであることがわかっている @list オブジェクトがあります。しかし、それをコードで直接抽出するにはどうすればよいでしょうか?
この種の情報は、かなり基本的な Ruby プログラミングです。答えは次のとおりです。
object.class
次回の追加のヒント:コア ライブラリのドキュメントでこの情報を自分で見つけてみてください。ある種のオブジェクトがあることを知っているので、ドキュメントを読み始めるだけで、ニーズに合ったメソッドが見つかります。オブジェクトに対して実行できるメソッドに関する情報は、ここにあります。
特定のクラスのインスタンスをテストする場合は、次のようにします。
@list.is_a?(List)
エドウィンが言ったobject.class
ように、対応する Class オブジェクトを提供します。クラスの名前だけが必要な場合は、object.class.name
.