我一直在使用Play! Java框架,并希望使用Scala进行尝试。 我从一本Scala书籍开始,但是最基础的Play!样本让我完全困惑:
def index(): Action[AnyContent] = Action { implicit request =>
Ok(views.html.index())
}
Scala的构造是Play! 可以理解,我们正在定义一个函数,该函数将返回带有常规参数Action
的{{1}}。但是下一部分让我感到困惑。在这种情况下,分配是什么意思?
如果我去定义Action [AnyContent],它的定义为AnyContent
如果在等号之后转到“动作”的定义,则其定义为:
trait Action[A] extends EssentialAction { ... }
注意:我对使用的Scala构造感兴趣,我不在乎Play是什么!我真正理解的是在这里做的。
答案 0 :(得分:2)
您实际上是在调用Action.apply()
,它是在ActionBuilder
中定义的here。 apply()
函数的第一个也是唯一的参数是函数request => Ok(...)
。