2014年4月21日星期一

scala method定義重複

scalaで同じ名前で複数種類のparameterでのmethodを定義する時に、重複エラーが発生しました。

def m(a:String = "AAA") = ???
def m(a:String = "AAA", b:String) = ???

上記の問題はコンパイルする時に、

def m$default$AAA = "AAA"

にコンパイルされる。ここは重複している。

名前を変えるしかないね。

参考先:
http://stackoverflow.com/questions/4652095/why-does-the-scala-compiler-disallow-overloaded-methods-with-default-arguments