我正尝试同时学习Scala和Play框架。Scala看起来有很多非常酷的想法,但是我的一个挫折是试图理解方法/函数/lambda/匿名函数等不同语法。
所以我的主要应用程序控制器如下:
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
是一个特质(trait),它将请求转换为结果,但我很难理解这行代码的意思:
def index = Action { ... }
我来自Java背景,所以不知道这是什么意思?(这个语句感觉像是在说"方法索引 = [某些接口行为]",这对我来说毫无意义;似乎有一些美妙的事情正在发生,但它对我来说就像是魔法一样,让我感到不安)
def index = Action { ... }
是不是相当于说index = new Action { _接口实现_ }
(例如在Java中的匿名接口实例化)? - Jonathan Apodaca