最初に解説する必要があるのは、Rubyにおけるアクセス制御だ。 Rubyのメソッドはpublic、protected、privateのいずれかを選択できる。publicなメソッド(これがデフォルトとなる)は、その名前から期待できる通りのアクセス可能性を提供するものの、Rubyのアクセス制御においてpublicメソッドのレシーバは明示的(特定クラスのインスタンスが格納された何らかの変数)、self(カレントオブジェクトを参照する擬似変数)、暗黙(レシーバを記述しない)のいずれかにすることができる。 なぜ暗黙のレシーバが必要になるのか理解できないという読者もおられるかもしれない。しかし暗黙のレシーバは、前回のコラムにおけるRubyのスクリプト例でもすでに登場していた。例えば次のように記述する場合でも暗黙のレシーバが用いられることになる。 puts 'some string' #putsは暗黙の
![Rubyのモジュールとイントロスペクション - builder by ZDNet Japan](https://cdn-ak-scissors.b.st-hatena.com/image/square/2f3eb69291fa784960d859e9b3ff5dfdb2192eb7/height=288;version=1;width=512/https%3A%2F%2Fbuilder.japan.zdnet.com%2Fstorage%2F2011%2F01%2F24%2F6c5823b1c5bf367bd4928887a10eac6f%2Fstory_media%2F20363010%2F071207ruby184x138b.jpg)