【问题标题】:Function literal with call-by-name parameter具有按名称调用参数的函数文字
【发布时间】:2013-03-02 20:17:31
【问题描述】:

如何在scala中定义一个带有名称调用参数的匿名函数?

我尝试了以下方法:

val fun = (x: Boolean, y: =>Int) => if(x) y else 0

这适用于按值调用 y,但不适用于按名称调用。为什么?

【问题讨论】:

    标签: scala


    【解决方案1】:

    可以这样做,但方式稍有不同:将类型与参数分开声明:

    val fun: (Boolean, => Int) => Int = (x, y) => if (x) y else 0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      相关资源
      最近更新 更多