文字列の書き方
C言語 2013/08/06
" で囲んで文字列(char[]型)を表す。 ' で囲むと文字列ではなく文字(char型)になる。
-> 概要
Java 2013/08/06
" で囲んで文字列(String型)を表す。
' で囲むと文字列ではなく文字(char型)になる。
Scala 2014/11/30
" で囲んで文字列(String型)を表す。または """ で囲んだヒアドキュメントを使う。
' で囲むと文字列ではなく文字(scala.Char型)になる。
PHP 2013/09/02
' または " で囲む。またはヒアドキュメントを使う。
" で囲んだ場合とヒアドキュメントでは $ で始まる部分が変数名として値に展開される。
Python 2014/11/29
' または " で囲む。または三重引用符(トリプルクオート) ''' または """ で囲む。
トリプルクオートの中には改行をそのまま含めることもできる。トリプルクオートの文字列を複数行コメントの代わりとしてよく使われる。
', ", ''', """ の前に r または R をプレフィックスとしてつけると、
raw文字列というものになり、バックスラッシュによるエスケープシーケンスの多くが無効になる。
エスケープシーケンスも参照。
文字列リテラル | Python 2.7 documentation
http://docs.python.jp/2/reference/lexical_analysis.html#strings
文字列リテラル | Python 3 documentation
http://docs.python.jp/3/reference/lexical_analysis.html#string-and-bytes-literals
Ruby 2014/11/29
' または " で囲む。またはヒアドキュメントを使う。
" で囲んだ文字列は、中に式を埋め込むこと(式展開)ができ、
エスケープの種類も "..." のほうが多い。
他の言語と違って、' または " のどちらで囲んでも途中に改行を入れることができる。
'...' の代わりに %q(...) という表記も使える。
%q(...) の中では ' をエスケープする必要がないので、文字列の中に ' がたくさんある場合には %q(...) のほうが便利。
同様に "..." の代わりに %Q(...) という表記も使える。
%Q(...) の中では " をエスケープする必要がないので、文字列の中に " がたくさんある場合には %Q(...) のほうが便利。
例
p 'abc\ndef'
# => "abc\\ndef"
# シングルクオートでは \n と書いても改行にはならず \n の2文字になる
p "abc\ndef"
# => "abc\ndef"
p 'abc
def'
# => "abc\ndef"
# 途中に改行をそのまま入れることができる
p "abc
def"
# => "abc\ndef"
# 途中に改行をそのまま入れることができる
p %q(a'bc')
# => "a'bc'"
# %q(...) はシングルクオートと同じ
p %Q(a"bc")
# => "a\"bc\""
# %Q(...) はダブルクオートと同じ
%q と似たような仕組みは配列にもある。
Perl 2014/03/02
' または " で囲む。または、q//, qq// の表記も使える。
ヒアドキュメントも使える。これらは中の変数名等が展開されるものと展開されないものの2つの種類に分けられる。
" で囲まれた表記、qq// の表記、終端識別子を " で囲むヒアドキュメントは、中の変数名等が展開される。
' で囲まれた表記、q// の表記、終端識別子をクオートで囲まないか ' で囲むヒアドキュメントは、中の変数名等が展開されない。
q//, qq// の表記は、q や qq のあとに / などの終端記号を指定して、文字列を書いて最後に指定した終端記号で閉じる表記で、Rubyにも似た機能がある。
q や qq のあとに (, {, [, < を置くと、終端記号は、
), }, ], > になり、括弧を対応させれば、中でネストさせることも可能になる。
例
use Data::Dumper;
my $str1 = q/abc\ndef/;
my $str2 = qq/abc\ndef/;
print Dumper($str1);
# =>
# $VAR1 = 'abc\\ndef';
print Dumper($str2);
# =>
# $VAR1 = 'abc
# def';
JavaScript 2014/11/29
ソースコード中に文字列リテラルを書くには、
' または " で囲む。
CoffeeScriptにあるような変数展開の機能はない。
CoffeeScript 2014/11/29
' または " で囲む。
" で囲んだ文字列は、変数展開することができる。