Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个Scala构造在做什么?_Scala_Playframework - Fatal编程技术网

这个Scala构造在做什么?

这个Scala构造在做什么?,scala,playframework,Scala,Playframework,我一直在用Play!框架,并希望使用Scala进行尝试。 我从一本Scala的书开始,但这是最基本的剧本!这个样本让我完全困惑: def index(): Action[AnyContent] = Action { implicit request => Ok(views.html.index()) } 什么是Scala结构的游戏!使用here?我知道我们正在定义一个函数,该函数返回一个带有通用参数AnyContent的Action。但下一部分让我感到困惑。在这种情况下,

我一直在用Play!框架,并希望使用Scala进行尝试。 我从一本Scala的书开始,但这是最基本的剧本!这个样本让我完全困惑:

  def index(): Action[AnyContent] = Action { implicit request =>
    Ok(views.html.index())
  }
什么是Scala结构的游戏!使用here?我知道我们正在定义一个函数,该函数返回一个带有通用参数
AnyContent
Action
。但下一部分让我感到困惑。在这种情况下,作业是什么意思

如果我转到动作的定义[AnyContent],它的定义是
trait动作[A]扩展了基本动作{…}
如果我去定义等于之后的动作,它的定义是:

trait BaseController extends BaseControllerHelpers {
  /**
   * The default ActionBuilder. Used to construct an action, for example:
   *
   * {{{
   *   def foo(query: String) = Action {
   *     Ok
   *   }
   * }}}
   *
   * This is meant to be a replacement for the now-deprecated Action object, and can be used in the same way.
   */
  def Action: ActionBuilder[Request, AnyContent] = controllerComponents.actionBuilder
} 

注意:我对所使用的Scala结构感兴趣,我不在乎玩什么!实际上是这样做的,我有点理解。

您实际上是在调用
Action.apply()
,这是在
ActionBuilder
中定义的。
apply()
函数的第一个也是唯一的一个参数是函数
request=>Ok(…)

您实际上调用的是
Action.apply()
,它在
ActionBuilder
中定义。
apply()
函数的第一个也是唯一一个参数是函数
request=>Ok(…)

它不是赋值,
=
这里将方法签名与主体分离,就像你在
def Action
中看到的那样@LuisMiguelMejíaSuárez在最近的游戏版本中,它不再是
对象,相反,它在注入的
ActionBuilder
上调用
apply
,看它不是赋值,
=
这里将方法签名与主体分离,就像你在
def Action
@LuisMiguelMejíaSuárez中看到的那样,它在最近的游戏版本中不再是
对象,相反,它在注入的
ActionBuilder
上调用
apply
,请参阅