Scalaの関数定義で=を書かないと・・・
def foo(arg: String) { .... retval }
なんてコードを書いていた。でも、なぜかfooを呼び出している所にretvalが返されない。以下のようにreturn文を書いても現象は変わらず。
return retval
そこで、以下のように型を指定しようとすると
def foo(arg: String): String { .... retval }
以下のようなエラーが出る。
only classes can have declared but undefined members
ここでようやく気づいた。= が抜けてる…正しくは以下の通り。
def foo(arg: String): String = { .... retval }
分かりにくいよなぁ。最初の間違ったコードでreturn文を書いても何も文句を言われないので、間違いに気づくのに時間がかかった。