From: matz@... (Yukihiro Matsumoto) Date: 1998-07-29T13:29:46+09:00 Subject: [ruby-list:8954] Re: nil + 1, or Integer.to_i まつもと ゆきひろです In message "[ruby-list:8953] Re: nil + 1, or Integer.to_i" on 98/07/29, Kanda -mu_star- Daisuke writes: | かんだです。 |> これは間違いです.正確には「全てのクラスのスーパークラス」で |> す(KernelもNilClassも除かない).なんでこんなことになったかっ |> ていうと,昔はKernelはクラスで,NilClassはKernelのサブクラス |> だったからです.書き直すのを忘れてました. |> # 英語ドキュメントは正しかった. | でも、http://www.netlab.co.jp/ruby/man-1.1/classes.html のヒエラルキー |図では Object と Nil が兄弟になってますよん:) う,これも間違いです.いかんなあ. | 上で、「Kernel も除かない」ということは、Kernel < Object なわけですか? ||% ruby -e 'p Kernel < Object' ||false | | やっぱり違うみたいですけど…。 あ,だから,「昔はObjectのスーパークラス」だったんだけど,今 は単なるモジュールで,そもそもクラスではないんですね.「除か ない」っていうとKernelがクラスみたいに聞こえましたか? | ただ、「Kenrel#hash は Object#hash として説明している」ということは、 |宣言は Kernel にあるわけですか? そうです.現実にはObjectクラスはメソッド定義をひとつも持たな いクラスで,定義は全部Kernelに入れてあります.でも,説明は Object.htmlで行ってるんですね.そっちの方が分かりやすいと思っ たから. まつもと ゆきひろ /:|}