文字列リテラル、「"」と「'」の違いは?(本書33ページ)

Rubyでは、「文字列リテラル」つまり、"ナマの"'文字列'みたいなカタチで文字列を表すとき、「二重引用符(")」と「単一引用符(')」の両方が使えます。原則的にはネ。

でも、単一引用符だと、改行記号「\n」などの「制御文字列」がわかってもらえず、出力するときそのまま「\n」で出てきてしまいます。

ただし、Ruby1.9では、文字列リテラル中に改行を入れたきゃ直接改行キーを打って、ソースコード中で改行しちまえば、ちゃんと改行したまんま出力してくれるようになりました。
ですから、単一引用符でも改行を含む長い文字列リテラルを扱うことができるのです。

でもヴッチャケ、「文字列リテラルには、二重引用符」としておくのが無難です。単一引用符だとちっちゃくて見えねぇーし。
と、いうわけで本書では二重引用符に統一したわけです。

他の言語では、引用符一個と二個では結果が全く違うことも多くので、気をつけましょう。
たとえばC言語では文字列リテラルは二重引用符、1文字だけの「キャラクタ」は単一引用符と区別してあります。
じゃあーいつどんな言語でも二重引用符なら安心かというと、逆にSQLでは文字列データは単一引用符でないとダメだったりします。それぞれの言語での引用符の使い方をキッチリ調べて使おうぞ。

この項目の目次へ

目次トップへ