質問: new Video() Video.incrementPlayCount(videoId) Ok("Success!") } } ``` これは何が原因でエラーが出ているのですか?
回答: 原因は `play` というメソッド名です。メソッド名を変更すればコンパイルが通るはずです。 以下推測混じりですが詳しく。 Play は conf/routes を元にコード生成を行っていますが、その生成されたコードでコンパイルエラーが起きています。生成されたコードは `target/scala-/src_managed` ディレクトリにあります。 今回エラーの原因は `play` というメソッド名にあります。推測ですが、`play` はパッケージ名などにも使われているため、それと衝突したためにこのエラーが発生しているものと思います。 エラーメッセージが、「再帰メソッド `play` には戻り値の型が必要です」ですが、生成されたコードを見たところ再帰しておらず、正しいエラーメッセージとは言えないので、それは Scala コンパイラのバグなのかもしれません。 なお、Play 2.4.0-M3 で試したところエラーは発生しませんでした。どの修正かまでは追っていませんが、なんらかの対策がすでに取られたのかもしれません。