【コメント、ヒアドキュメント】Rubyの基礎【学習】

Ruby_logoRuby

プログラミングする際にプログラミングを読みやすくするためにコメントを記載する必要があります。

早速例を見ながら説明していきます。

スポンサーリンク

1行コメント

1行のコメントを記載する際には「#」を使用します。
「#」の後ろがコメントとして認識されるので、プログラムの後ろに記載することもできます。

# puts 'これはコメントなので実行されない'
puts 'これはコメントではないので実行される' # プログラムの後ろに記載することもできる

複数行コメント

複数行コメントの際は「=begin」と「=end」で囲むことでコメントすることができます。
こちらは先頭行に記載しないといけないので、行の途中に記載することはできないので注意してください。

=begin
puts 'コメントなので実行されない'
=end
puts 'コメント外なので実行される'

こちらはコメントを残したり、エラーが出ている箇所を一旦コメントアウトしたりする際に使用されます。

ヒアドキュメント

ヒアドキュメントは複数行にまたがる長いドキュメントを扱いたい際に便利な機能です。

例を見ながら理解していきましょう。
EOSは「End of String」の略らしいですが、必ずしもEOSである必要は内容ですが、慣習的にEOSが使用されます。

以下の例では<<の後に「EOS」で囲んでヒアドキュメントを記載した例です。
この場合は「#{1 +1}」がダブルクオートで括った時と同様に式が読み込まれ計算されて「2」が表示できています。

[66] pry(main)> long_strings = <<EOS
[66] pry(main)* 長文
[66] pry(main)* を
[66] pry(main)* 入力する
[66] pry(main)* 時
[66] pry(main)* #{1 +1}
[66] pry(main)* EOS
=> "長文\nを\n入力する\n時\n2\n"
[67] pry(main)> puts long_strings
長文
を
入力する
時
2
=> nil

以下の例では最初のEOSをシングルクオート囲っています。
「’EOS’」で記載した際はシングルクオートで囲った際と同様に「#{1 + 2}」が文字列としてそのまま表示されています。

[68] pry(main)> long_strings = <<'EOS'
[68] pry(main)* 長文
[68] pry(main)* を
[68] pry(main)* 入力する
[68] pry(main)* 時
[68] pry(main)* #{1 + 2}
[68] pry(main)* EOS
=> "長文\nを\n入力する\n時\n\#{1 + 2}\n"
[69] pry(main)> puts long_strings
長文
を
入力する
時
#{1 + 2}

以下の例はEOSをダブルクオートで囲った例です。
最初のものと同様に「”(ダブルクオート)」で囲ったものと同様に「#{2 + 3}」が計算されて読み込まれているのがわかります。

[71] pry(main)> long_strings = <<"EOS"
[71] pry(main)* 長文
[71] pry(main)* を
[71] pry(main)* 入力する
[71] pry(main)* 時
[71] pry(main)* #{2 + 3}
[71] pry(main)* EOS
=> "長文\nを\n入力する\n時\n5\n"
[72] pry(main)> puts long_strings
長文
を
入力する
時
5

以下の例では「<<」の後に「-」を記載して、矢印のようになっていますが、この場合終わりの「EOS」を先頭に書かなくてもよくなります。こちらは実際のプログラミングではインデントを揃える必要があるので、これを使うのが普通になるかと思いますので、覚えておいてください。

[74] pry(main)> long_strings = <<-"EOS"
[74] pry(main)* 長文
[74] pry(main)* を
[74] pry(main)* 入力する
[74] pry(main)* 時
[74] pry(main)* #{3 + 4}
[74] pry(main)*   EOS
=> "長文\nを\n入力する\n時\n7\n"
[75] pry(main)> puts long_strings
長文
を
入力する
時
7
https://amzn.to/2KXix16

フリーランスを目指すなら【テックパートナーズカレッジ】

未経験者向けWEBスクール【SHElikes】

コメント

タイトルとURLをコピーしました