「Groovy String Handling」を見てたまたま知ったことをメモ的に書いときます。
Groovyで、複数行のダブルクォート(トリプルダブルクォート)もしくは複数行のシングルクォート(トリプルシングルクォート)で改行を含む文字列定数を書くことができます。
def s1 = """ABC DEF """
def s2 = '''ABC DEF '''
これはこれでいいのですが、ABCとDEFが別の桁にあるようでイヤーンな気もします。そういうときは
def s3 = """\ ABC DEF """
def s4 = '''\ ABC DEF '''
こう書けます。行末のバックスラッシュで改行をエスケープできるということです。ちなみにこれはトリプルクォートに限らず普通のクォートでも同じです。
println "abc\ def"
この仕様はJavaとは違うので、思い込みでできないと思ってました。
別件ですが少し似た話として、
println "abc" +"def"
だと諸般の事情によりエラーになったり,期待する結果にならなかったりするかもしれませんが、
println\ "abc"\ +"def"
こんな書けます。
ほんのささやかな幸せ。