MacでRuby入門 ~文字列リテラルと改行~
今回は、Rubyで文字列の扱いについて勉強します。
「Hello」とか「World」のように、1文字以上の文字が連続しているデータが「文字列」です。
プログラムの中に直接記述した文字列のことを「文字列リテラル」といいます。
Rubyでは、文字列は文字の並びをダブルクォート「"」かシングルクォート「'」で両端を囲んで表します。
"こんにちは"
'Hello'
Rubyで文字列を表示する方法を勉強します。
文字列を表示するには、printメソッドかputsメソッドを使います。
では、まずprintメソッドで文字列を表示してみましょう。
print "こんにちは"
print 'Hello'
(実行結果)
こんにちはHello
と表示されました。
ただ、「こんにちは」と「Hello」がつながって表示されてしまいますね。
できれば改行して2行に分けて表示したいものです。
改行して表示するには、制御文字を使います。
改行の制御文字は「\n」という書き方をします。
それぞれの文字列に改行コードを追加して実行してみましょう。
print "こんにちは\n"
print 'Hello\n'
(実行結果)
こんにちは
Hello\n
改行されて表示されましたが、2行目の文字列の後には「\n」がそのまま表示されています。
制御文字は、ダブルクォートで囲った文字列の中では制御文字として扱われますが、シングルクォートで囲った文字列の中では制御文字として解釈せず、表記したままの文字として扱うことになるからです。
ただし、シングルクォートで囲まれた文字列は、バックスラッシュそのものを表す「\」と
print 'こんにちは\\'
(実行結果)
こんにちは\
シングルクォートを表す「\'」
print 'こんにちは\''
(実行結果)
こんにちは'
意外は、特別な解釈はされず、その文字のまま扱われます。
最後に、putsメソッドで文字列を表示してみます。
putsメソッドは、printメソッドと違い、文字列の後に改行してくれます。
puts "こんにちは"
puts 'Hello'
(実行結果)
こんにちは
Hello
まとめ
・プログラムの中に直接記述した文字列を「文字列リテラル」という。
・文字列はダブルクォート「"」かシングルクォート「'」で両端を囲む。
・ダブルクォートで囲まれた文字列リテラルは制御文字「\n」を使って、改行をすることができる
・シングルクォート囲まれた文字列リテラルは、制御文字は表記したまま文字として扱われる