Top > Ruby > コメント

このページの概要

  • ソースコードの意味を説明するための方法、「コメント」「注釈」の付け方について。
  • 「コメント」と解釈された部分はプログラムとは見なされないため、好きなことを書くことができます。
  • 動作確認環境 : Ruby 1.8.4

コメントの書き方の基本:シャープ記号 # から行末

行頭が # で始まる行は、実行されません。 たとえば、下記のコードは Hello, world! を表示する3行のコードがありますが、2行目は # ではじまっているため、2nd Hello, world! は表示されません。

  0
  1
  2
  3
#!/usr/bin/env ruby
puts("1st Hello, world!")
#puts("2nd Hello, world!")
puts("3rd Hello, world!")

Ruby の文法的には最初の行もコメントです。 ただ、スクリプトの最初の行は「shebang行*1」と呼ばれる「どんなスクリプト言語か」を示す慣習的な表記になるため、注意しましょう。

次のコードでは、# を途中で入れた場合の挙動です。

  1. 「1st」は # を含んでいませんので、ふつうに Bye! まで表示されます。
  2. 「2nd」は二重引用符( " )の間に#があるので、ただの文字列として取り扱われ、コメントになりません。つまり、Hello, #world! のような表示となります。これは引用符( ' )でくくられたもの(文字列)についても同じです。
  3. 「3rd」は二重引用符の間にありますが、「文字列の外側」にあるためコメント開始として有効と見なされます。よって、Bye! 部分は表示されません。
  4. セミコロンで1行内に複数の文を記述できますが、コメントの終了はあくまでも行末までのため See you again!! は表示されません。
      0
      1
      2
      3
      4
    
    #!/usr/bin/env ruby
    puts "1st Hello, world!" + " Bye!"
    puts "2nd Hello, #world!" + " Bye!"
    puts "3rd Hello, world!" #+ " Bye!"
    puts "4th Hello, world!" #+ " Bye!"; puts "See you again!!"
    

ソースコードの終わりを意味する __END__

アンダーバーふたつ、END、アンダーバーふたつ ( _ _ E N D _ _ をくっつけて記述)の行があると、Ruby のスクリプトはそこで終わりと見なされます。

  0
  1
  2
  3
#!/usr/bin/env ruby
puts("Hello, world!")
__END__
puts("Bye!")

上記のコードの場合、__END__ でスクリプトは終わりです。よって、__END__ の次にある Bye! は表示されません。Bye! の部分は、実際には Ruby の文法に従う必要もなく、何でも自由に書くことができます。

  0
  1
  2
  3
#!/usr/bin/env ruby
puts("Hello, world!")
 __END__
puts("Bye!")

上記のコードは文法エラーになります。__END__ は行頭から書き始めなくてはいけません。

埋め込みドキュメント

=begin で始まる行から =end で始まる行は、ドキュメント出力用のコメントと見なされます。 以下は =begin rdoc とすることにより、ドキュメント生成アプリケーション rdoc に対応可能なコメントとなっています。

  0
  1
  2
  3
  4
#!/usr/bin/env ruby
=begin rdoc
以下の文字列を表示します。「Hello, world!」
=end
puts("Hello, world!")

慣習的なもの

 #=>ほげほげ  というコメントは、そのコードの期待されるべき結果について書くようです。  以下のコードでは、1+1 の演算結果は2が期待されるというコメントになります。Ruby から見たら # より後ろは無視されていますので、2 以外のことも書けます(が、慣習的にあわせた方がよいでしょう)

  0
  1
#!/usr/bin/env ruby
puts 1+1 #=>2

*1 shebang はシェバングなのかシェバンなのか、調べてみましたが、どちらの読みはどちらが正しいのかよくわかりません。ファイル最初の #! はそういう慣習がある、ということだけ心にとめておけばよいかと思われます。

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 22 Jul 2011 21:57:58 JST (1525d)