6.コメントの書式

プログラミング言語には、コメント機能というものがある。ソースコード上に、自分の好きなことが書け、プログラムの実行には影響しないという文字列、または行である。

『ここからはコメントだよ』もしくは、『ここからここまではコメントだよ』と印をつけておけば、コンパイラまたはインタプリタプログラムが、その部分をすっ飛ばしてくれるというわけだ。

いくら好きなことを書いてよいといっても、ブログを連載したりしてはならず、プログラムに関係する説明を書くのである。なぜそのようなことをするのかというと、まず、他人に自分の作ったプログラムが一体何をしているのかを伝えるためだ。

趣味で作成し、使うのも自分という状況下では不要であるが、大規模なシステム開発ともなってくると、自分の作ったプログラムを最後まで自分で面倒見るとは限らないから、他人に解析のヒントを与えねばならないのである。

また、人間には、時間がたつと物事を忘れてしまうという、悲しくも便利な機能がインプリメントされているので、自分が作ったプログラムといえども、一ヶ月もすれば何をやっているかさっぱりわからなくなってしまうので、そのためにもコメントは絶対に必要なのである。ことプログラミングにおいては、一ヶ月先の自分は、まだ見ぬ他人であると心得よう。

コメントには大きく分けて二種類ある。というかあってほしい。

(1).行末までのコメント
(2).複数行コメント

ところが、プログラミング言語の中には、どちらかのコメントしかサポートしていないものがあるので厄介なのだ。

例えば昔のC言語は、行末までのコメントをサポートしていない。VisualBasicは、いまだに複数行をコメントにする事ができない。

しかしご安心いただきたい。Rubyにはちゃんと両方のコメントがサポートされている。

(1).行末までのコメント
行末までのコメントの始まりは、#(シャープ)で始まる。

001 | #ループ処理
002 | (1..10).each { |i|
003 |     puts i.to_s
004 |     retry if i==5 # iが5ならばリトライ
005 | }

上記コードでは、まず1行目、そして4行目の#以降、行末までがコメントになる。

(2).複数行コメント
と、機嫌よくプログラムを作ったのだが、仕様変更が入って、前出のループ処理が全部いらなくなってしまったのである。だが、もしかしてまた気まぐれなユーザの鶴の一声で復活するかもしれないから、コード自体は残しておきたいと考えたのだ。そこで登場するのが複数行を一発でコメントアウトできる書式というわけである。rubyでの複数行コメントの書式は次の通りだ。

001 | =begin
002 | #ループ処理
003 | (1..10).each { |i|
004 |     puts i.to_s
005 |     retry if i==5 # iが5ならばリトライ
006 | }
007 | =end

1行目の=begin、そして2行目の=endで挟まれた部分が全てコメントになる。要するに、このコードは何もしなくなってしまったのだ。

ソースコード上で、実行されない文字列や行を指定するという意味でのコメントの解説はこれで終わりなのだが、複数行コメントに関して、ひとつお話しておかねばならないことがある。

ソースコード上の、=beginと、=endで挟まれた部分に、特殊な(といっても簡単だが)マークアップタグを使用して文章を書き、ソースコードファイルをツールに読み込ませると、html等の形式でドキュメントに変換することができるのである。

このマークアップタグはRD(Ruby Document format)と呼ばれ、Rubyドキュメントの標準フォーマットである。


変換用ツールにはいくつか種類があるのだが、RDToolというのが事実上の標準となっている。

Rubyインタプリタ本体は勿論、拡張ライブラリ、そしてRDToolなどのツール類が、全て有志により作成され、無料で配布されているということも、Rubyの魅力のひとつであると言えよう。

と、皆さんちょっと待っていただきたい。

Rubyの解説をしつつ、それとなく真紅のパソコンに仕込んだのっとりプログラム経由で彼女達の動向をウォッチしていたわけだが、なんと、氷の魔女ゲルダとやらにクイズを出題され、いきなりピンチに陥っておるではないか。

真紅は基本的に体力勝負のところがあるから、ああいったクイズにはとんと弱いところがある。どうれ、とうとう私も父親らしいところを見せるときがきたようだな。

よーし。ゴホン。咳払いを一発くれてと。

『ちょぉーっと待ったぁ。その問題、私が答えて進ぜよう!』
最終更新:2008年12月04日 12:51