播放框架Scala操作

时间:2015-05-21 18:34:53

标签: scala playframework playframework-2.3

作为Scala的新手,有人可以解释the code here吗?

val echo = Action { request =>
  Ok("Got request [" + request + "]")
}

所以我知道你正在从一个Action trait创建一个名为echo的新值(类似于我可以收集的Java接口)。 request是某种争论,虽然我之前从未见过这种语法 - 括号和箭头=>表示什么?

我看到我创建了一个Result对象,表示200响应,并且可能会返回该对象。但是我回来了什么样的功能?构造函数?

2 个答案:

答案 0 :(得分:2)

首先,新值echo从调用函数Action.apply的结果中获取其值,其中Action是一个对象(scala singleton,与Java中的静态相关)。 / p>

Action.apply函数显然采用函数作为参数,按惯例会返回Action特征类型的值。

{ request =>
  Ok("Got request [" + request + "]")
}

某个类型的函数(参数标记为request)是某种类型(调用返回Ok)。

假设您来自Java背景,Java 8 lambdas使用非常相似的语法。

答案 1 :(得分:1)

Action是一个接收请求并产生结果(响应)的函数。在表达式Before calling the proc test_var : 1 Inside the proc by ref. Setting its value to 10 test_var 1 AFTER calling the proc test_var : 1 中,您有一个函数文字(匿名函数){}。因此,在request => Ok()之后,request将在身体内可用。

由于这是Scala,所评估的表达式的最后一位将是结果;也就是说,将评估=>内的内容,然后生成结果。