初学者向けの Scala Tips (6) - 文字列リテラル中のインデントを整える
これは、気の利いたIDEであれば自動でやってくれるのであえて覚える必要はないのですが、一応。
Scalaでは、複数行に渡る文字列リテラルを次のようにして書く事ができます*1。
val foo = """ class Foo { def foo(): Unit = { println("foo") } } """
ここで、見やすさのためにdef
の部分をもう一段インデントして、かつ、出力される文字列は変更したくないときがあります。そのようなときは、
val foo = """ |class Foo { | def foo(): Unit = { | println("foo") | } |}""".stripMargin
とすると良いです。これで、|
の部分が除去されて、その次のカラムが行頭になるような複数行文字列が生成されます。これはScalaで複数行文字列を意図通りに出力するときのイディオムとして覚えておくと良いでしょう(IntelliJ IDEAなどではこれを自動で出力してくれるますが)。