筆者は Ruby の実装について詳しいわけではありません。確かに Ruby スクリプトならちょいとは腕に覚えがあるし、Ruby のソースコー ドもちょくちょく眺めていますし、小さな拡張モジュールくらいだっ たらすぐ書けます。しかし、Ruby のソースコードの全てを熟読した ことはないし、そもそもプログラマとしての経験自体が二年くらいし かありません。しかもこれまで書いたプログラムのほとんどは Ruby スクリプトで、C はその 1/50 くらいしか書いていません。
それでも筆者がこの文書を書こうと思ったのは、もっと Ruby につい て知りたいからです。Ruby をユーザとして使うだけでなく、もっと Ruby の本質を知りたい、普段使っているものが、どのように作られ ているのか、どうしてそうなるのか、その根本をえぐりだしたいので す。南蛮由来の言葉で言えば「Hacker 魂をゆさぶられる」といいま しょうか。
上記のような事情から、この文章はもののわかった解説者の文章とは 違います。筆者が疑問に思ったこと、興味を持ったことを調べて、そ の理由がわかったらそれをまとめて書いていく、いわば獣道です。す。 最短経路でもなければ歩きやすくもなく、ときには行きどまりがある かもしれません。
ですから、この文章を頭から信じてはいけません。もし「なんか変?」 と思ったら、自分でソースコードを読んでください。どう見てもこの 文章と合わないときは、自分で調べたほうを信じてください。
いままでは CVS 最新を追いかけていたのですが、方針を変更して 1.6.6 固定にすることにしました。対象バージョンを絞ることでソー スコードを参照しやすくしたかったというのが理由です。ただし、現 在はまだアップデートしきれていないので他のバージョンのソースが 混在していることがあります。
また、筆者は Linux マシンしか持っていないのでシステム寄りの 話は自然と Linux が中心になると思います。
Copyright (c) 1998-2002 Minero Aoki
<aamine@loveruby.net>
This site is link free.