深海マリア
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「深海マリア 」を公開しました。
昨年末に上梓された「Rubyのしくみ」(原題:Ruby Under a Microscope, 顕微鏡の下でのRuby)という本を手にしました。Rubyのしくみを知りたい、Rubyを深く知りたいという欲求からの行為です。
そこで今回はRubyの内部構造 "Ruby Internals" の理解の助けになればという願いを込めて少しでも深層に近づくために潜ってみたいと思います。ちなみに筆者は金槌です。いつも謎に満ちているRubyのオブジェクトとクラスについて、その素顔を垣間見ることができれば嬉しいという試みです。
オープンソースとして公開されているRuby実行環境であるインタープリター(interpreter)の代表は、まつもとゆきひろ氏によって開発された MRI(Matz' Ruby Implementation)です。MRIはC言語で実装されたRubyの公式処理系であり、すべてのプラットフォームで動作可能として提供されています。MRIは最も広く使われているRubyのインタープリターです(MRI以外にもRubyはオープンソースであるが故に多数の処理系が実装されています)。
先ずは安全第一に救命胴衣を着用して(「Rubyのしくみ」を片手に携えて)、MRIのソースコード(Rubyバージョン2.2.2)をダウンロードしてみました。
ソースコード海の中に浮遊するヘッダーファイルを覗くとその底にはRubyのオブジェクトが、RObjectという構造体で表現されていました。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/super/super46.html
ソーシャルもやってます!