玩框架 Scala 动作
Play framework Scala actions
作为 Scala 的新手,有人可以解释一下吗the code here?
val echo = Action { request =>
Ok("Got request [" + request + "]")
}
所以我知道你正在创建一个名为 echo 的新值,它来自 Action 特征(类似于我收集到的 Java 界面)。 request
是某种参数,尽管我以前从未见过这种语法——括号和箭头 =>
表示什么?
我看到我创建了一个 Result
对象来表示 200 响应,并且可能会返回它。但是我从什么样的函数返回呢?构造函数?
首先,新值 echo 从调用函数 Action.apply
的结果中获取其值,其中 Action
是一个对象(scala 单例,与 [= 中的静态相关) 24=]).
Action.apply 函数显然将一个函数作为其参数,并且按照惯例 return 一个 Action 特征类型的值。
{ request =>
Ok("Got request [" + request + "]")
}
是从某种类型(参数标记为 request
)到某种类型(对 Ok
的调用的 return)的函数。
假设您来自 Java 背景,Java 8 个 lambda 使用非常相似的语法。
Action 是接受请求并产生结果(响应)的函数。在表达式 {}
中,您有一个函数文字(匿名函数)request => Ok()
。因此,request
将在 =>
之后的主体内可用。
因为这是 Scala,所以计算的表达式的最后一位将是结果;也就是说,将评估 Ok()
中的内容,然后生成结果。
作为 Scala 的新手,有人可以解释一下吗the code here?
val echo = Action { request =>
Ok("Got request [" + request + "]")
}
所以我知道你正在创建一个名为 echo 的新值,它来自 Action 特征(类似于我收集到的 Java 界面)。 request
是某种参数,尽管我以前从未见过这种语法——括号和箭头 =>
表示什么?
我看到我创建了一个 Result
对象来表示 200 响应,并且可能会返回它。但是我从什么样的函数返回呢?构造函数?
首先,新值 echo 从调用函数 Action.apply
的结果中获取其值,其中 Action
是一个对象(scala 单例,与 [= 中的静态相关) 24=]).
Action.apply 函数显然将一个函数作为其参数,并且按照惯例 return 一个 Action 特征类型的值。
{ request =>
Ok("Got request [" + request + "]")
}
是从某种类型(参数标记为 request
)到某种类型(对 Ok
的调用的 return)的函数。
假设您来自 Java 背景,Java 8 个 lambda 使用非常相似的语法。
Action 是接受请求并产生结果(响应)的函数。在表达式 {}
中,您有一个函数文字(匿名函数)request => Ok()
。因此,request
将在 =>
之后的主体内可用。
因为这是 Scala,所以计算的表达式的最后一位将是结果;也就是说,将评估 Ok()
中的内容,然后生成结果。