文字列の書き方
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
'
または "
で囲む。
"
で囲んだ文字列は、変数展開することができる。