我正在尝试同时学习 Scala 和 Play Framework。在我看来,Scala 有很多非常酷的想法,但我的挫败感之一是试图理解方法/函数/lambdas/匿名函数/等的所有不同语法。
所以我有我的主应用程序控制器,如下所示:
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
这告诉我我有一个单例Application
,它有一个方法,index
返回什么类型?我期待index
有一个更像的定义:
def index(req: Request) : Result = { ... }
查看 Play Framework 的文档,它看起来好像Action
是一个特征,它将请求转换为结果,因为我很难理解这行在说什么:
def index = Action { ... }
我来自Java背景,所以我不知道这是在说什么?(这句话感觉像是在说“method index = [some interface Action]”,这对我来说没有意义;似乎正在发生一些美好的事情,但对我来说它是魔法,我对我的代码中的魔法感到不安;))