いまさら聞けないRubyの文字列リテラル、シングルクォートとダブルクオートの違い







今回は、Rubyのシングルクォートとダブルクオートの違いについて解説していきます。

かなり初心者向けの内容となっておりますが、中級者以上の方も基礎の確認ということで読んでいただければと思います。

シングルクォート

入力した文字がそのまま表示される。文字列のエスケープなどを一切行わない。

'hoge\nfuga' #=>'hoge\nfuga'
str='world'
'Hello,#{str}' #=> 'Hello,#{str}'

ダブルクオート

特殊文字が適用され、変数展開が有効になる


"hoge\nfuga" #=>'hoge
                                 fuga'
"hoge\\nfuga" #=>'hoge\nfuga',
str='world'
"Hello,#{str}" #=> 'Hello,World'

ちなみに、私が使っているソースコード静的解析ツール「Rubocop」では、シングルクォートで書くべき箇所をダブルクオートで書くと警告が出ます。

このあたりは、参画しているプロジェクトのコーディング規約に従ったほうがよさそうです。