読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

複数行文字列リテラル

"""<文字列>"""

改行を含む文字列リテラルとなります。

// 改行を含む文字列リテラル。
var strs = """aaa
               bbb
               ccc"""
    
println(strs)

実行結果です。インデントもそのまま残ります。

aaa
               bbb
               ccc

インデントうぜー、とか思う人は、RichString#stripMarginを使って次のように書けるよ!とかThe Scala Language Specificationに書かれているけど

var strs = """aaa
              |bbb
              |ccc""".stripMargin

これも微妙だなー。「|」とかメンドイ感じ。個人的には↓の方がしっくりくる感じ。

var strs = """
aaa
bbb
ccc
""".trim

ただし、前後の空白文字列が削除されるので、それがまずい場合は使えません。むー。

リテラル中の「"」の扱い

リテラル中でも「"」は普通に使えます。

var strs = """" "" """
println(strs)

実行結果です。

" ""