Scalaのメソッドの括弧()と副作用
括弧を付けずに関数定義して、呼び出しで括弧をつけるとエラーになります。
def f() = println("Hello") // 括弧をつける def g = println("World") // 括弧をつけない f() f // g() // error: Unit does not take parameters g
作法として、副作用がある関数は括弧を付けて、副作用のない関数は括弧を付けないらしいです。
def myPrintln(s: String) = println(s) // 副作用あり def getHello = "Hello" // 副作用なし myPrintln("hoge") // 副作用あり val hello = getHello // 副作用なし