俺は>378じゃないが、Pythonで言うなら

class MyClass:
  def __init__(self):
    self.var1 = 'foo'
    self.var2 = 3

obj = MyClass()
print obj.inspect()

ってやったら

<MyClass: var1='foo' var2=3>

って感じで表示されるのが Ruby の inspect だな
再帰的っつーか、ルートクラスで定義されてる上に
inspect 内でフィールドに inspect 呼んでるから結果的に全て遡るだけ

ちなみに、リテラル形式のあるクラスでは inspect はリテラル自体を返す

>>378
リテラルに対しては repr() を使えばお望みの物が出るハズ
自作クラスなら、それらしいメソッド名で
中身の各オブジェクトに対して repr() 呼ぶぐらいしか俺は思いつかないが