http://martinfowler.com/bliki/RubyAnnotations.html Rubyで人気のある機能のひとつにメタプログラミングのサポートがある。 メタプログラミングとは言語自身を変えてしまうように動作する機能のことだ。 たとえば、新しい予約語を導入するみたいな、ね。 主流の「中かっこ」言語族はメタプログラミングをほとんどサポートしてないが、メタプログラミングの有用な応用として「注記」をあげることができる。 「注記」は内部DSLスタイルで言語を拡張するにあたって重要な役割を果たす。 一見すると、Rubyは注記をサポートしていないように見えるが、頭をひねってみればそれが見えてくるはずだ。 注記を使って、言語要素(クラス、メソッド、フィールド等)をマーカーでタグ付けする。 とりわけ、その要素のメタデータをね。 そうすると、そのメタデータを実行時ないしコンパイル時に利用