読書会で一気に進んだので、復習。
※読書会の内容は、JGGUG 関西支部長の id:kiy0taka:20090426:1240757105 さんがまとめてくれています。
ダブルクォート(")で囲った場合、GString になるらしい。
GString は、変数の値を文字列に埋め込めるので便利そう。
def a = "ABC"
def b = "DEF"
println "1:$a 2:$b" // 結果は 1:ABC 2:DEF
これは C# では無理なのかな。String.Format で似た様な事は出来るけど、ちょっと長い。
string a = "ABC";
string b = "DEF";
Console.WriteLine("1:{0} 2:{1}", a, b); // 結果は 1:ABC 2:DEF
PowerShell なら出来るんだけど。
$a = "ABC"
$b = "DEF"
Write-Host "1:$a 2:$b" # 結果は 1:ABC 2:DEF
Groovy では、シングルクォート(')かダブルクォート(") 3つで囲った文字列は、改行を含める事が可能。
def a = """abcd
efg"""
println a
あと、スラッシュ(/)で囲むと、円マーク(\) のエスケープが不要になる。
def a = "c:\\work\\groovy" // 普通は、\ はエスケープする必要ある。
def b = /c:\work\groovy/
println (a == b) // true
この2つの例は、C# の場合 逐語的文字列リテラル で可能だ。
string a = @"abcd
efg";
Console.WriteLine(a);
string a = "c:\\work\\groovy";
string b = @"c:\work\groovy";
Console.WriteLine(a == b); // True