生文字列というもの
C# でいうところの @
に続く文字列。いろいろまとめてエスケープできるあれである。
どうやら「生文字列」だとか「raw string literal」と呼ばれるものらしい。
他の言語ではどうやって書くのか、そもそもこれはどういうカテゴリ、ジャンル、呼び方をされているものなのか。これがなかなか検索しにくかった。
以下、str0
と str1
は同じ。str0
が raw string literal で書いたもの。str1
がエスケープが必要な文字を一つずつエスケープして書いたもの。
C# における raw string literal
// @"ここに書く"; string str0 = @"(C:\Users\UserName\Desktop)"; string str1 = "C:\\Users\\UserName\\Desktop";
C++ における raw string literal
// R"(ここに書く)"; char str0[] = R"(C:\Users\UserName\Desktop)"; char str1[] = "C:\\Users\\UserName\\Desktop";
参考: 生文字列リテラル
javascript における raw string literal
javascript の場合にはテンプレートリテラルと呼ばれるらしい。
// String.raw`ここに書く` var str0 = String.raw`C:\Users\UserName\Desktop`; var str1 = 'C:\\Users\\UserName\\Desktop';
参考: JavaScript の テンプレートリテラル を極める!
python における raw string literal
# r"ここに書く" str0 = r"C:\Users\UserName\Desktop" str1 = "C:\\Users\\UserName\\Desktop"