【问题标题】:Scala Action method in Play 2Play 2 中的 Scala Action 方法
【发布时间】:2015-11-24 16:52:14
【问题描述】:

我对 Scala 还是很陌生,我也在学习 Play。我看到 Play 中使用了以下构造

def list = Action {
    val products = Product.findAll
    Ok(views.html.products.list(products))
}

我不知道是什么

Action {}

确实如此。 Action是方法的返回值吗?如果我想了解更多,这个结构叫什么?

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    这种称为factory method 的构造通过scala apply sugar 增强

    Action在这个引用中是companion object,也就是could be called singleton,但实际上连同非常具体的单例类型Action$它的方法体现为Action的静态方法。

    我们可以读到object Action extends ActionBuilder[Request],它具有plenty of apply methods 构造Action 类型的值。

    这里的花括号表示nullary function,它是空参数closure,并且通常以不同的语言命名,如ruby 或groovy。它只是多行代码块,最后会产生一些东西。

    【讨论】:

      猜你喜欢
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 2016-04-13
      相关资源
      最近更新 更多