稀なケースですが,丸括弧で囲まれたブロックが複数行に渡る場合,括弧とその中身はスペースを置かず,同じ行に配置します(Lispスタイル)。
(this + is a very ++ long *
expression)
パーサコンビネータを使って文法規則を定義するときが,唯一の例外になります。
lazy val e: Parser[Int] = (
e ~ "+" ~ e ^^ { (e1, _, e2) => e1 + e2 }
| e ~ "-" ~ e ^^ { (e1, _, e2) => e1 - e2 }
| """\d+""".r ^^ { _.toInt }
)
パーサコンビネータは内部DSLですが,これはつまりスタイルガイドラインの多くが意味を成さないという事です。