PukiWiki


リテラル文字列 の変更点


*リテラル文字列 [#fd055080]
リテラル文字列とは定数文字列のこと。
#contents
**C言語、C++ [#j84cf5c0]
ダブルクウォートでくくる。
 const char* p = "AAA";

Lを前につけるとワイド文字列になる。
 const wchar* p = L"AAA";

一文字だけをあらわすにはシングルクウォートを使う。Lをつけるとワイド文字になる。
 char c = 'A';
 wchar c = L'A';

特別な文字列にはバックスラッシュを使う。

 const char* p = "AAA\nBBB";  // 改行
 char c = '\0';  // ヌル文字

**Python [#l709fb54]
シングルクウォートとダブルクウォートはほぼ同じ。トリプルクオートもある。
 """aaaaa"""
 '''bbbbb'''
トリプルクオートの場合2行にまたがっても書ける。
 #!/usr/bin/python
 
 print "AAA"
 print 'bbb'
 print """ccc"""
 print '''ddd'''
 print '''xxx
 yyy
 zzz'''
出力は以下
 AAA
 bbb
 ccc
 ddd
 xxx
 yyy
 zzz
リテラルの最初にrを付けるとraw文字列になる。raw文字列は\nなどを改行に変換しない。
 hello = r"This is a rather long string containing\n\
 several lines of text much as you would do in C."
 
 print hello
出力は以下のようになる。
 This is a rather long string containing\n\
 several lines of text much as you would do in C.

uを付けるとUnicode文字列になる。
 >>> u'Hello World !'
 u'Hello World !'
 
 >>> u'Hello\u0020World !'
 u'Hello World !'

**Ruby [#l07f95f5]
シングルクウォートを使う。バックスラッシュを使うとシングルクウォートとそのものとバックスラッシュそのものをエスケープできる。
 myString = 'AAA'

ダブルクウォートを使うと、バックスラッシュでいろいろエスケープできる。[[参照>>http://www.ruby-lang.org/ja/man/html/_A5EAA5C6A5E9A5EB.html#a.a5.d0.a5.c3.a5.af.a5.b9.a5.e9.a5.c3.a5.b7.a5.e5.b5.ad.cb.a1]]
また、#{式}を使って、文字列中に式を埋め込むことができる。
 $a = "AAA"
 puts "bbb#{$a}ccc"  # => bbbAAAccc

%q(文字列)でシングルクオート文字列、%Q(文字列)でダブルクオート文字列と同なので、文字列の中にシングルクオートやバッククオートを使いたいときは便利、%q{文字列}、%Q{文字列}のように中括弧を使うこともできる。

***シンボル [#o4143331]
intern