【发布时间】:2017-06-24 10:59:59
【问题描述】:
为了更好地了解 scala,我遇到了一种我无法解释的行为。 下面的代码工作正常:
def triple(x: Double) = 3 * x
Array(3.14,1.42,3.9).map(triple)
但是,如果我在数学库中调用 scala ceil 函数,那么我需要传递一个 _ 才能使其工作
def valueAtOneQuarter(f: (Double)=> Double) = f(0.25)
valueAtOneQuarter(sqrt _)
从前面一段代码中的函数调用来看,这个上下文中的 _ 有什么特别之处。
【问题讨论】:
-
它实际上对我来说都很好,在这两种情况下都没有下划线
-
扩展对我也有效,并且自动发生,不需要像 Dima 所说的那样使用
_。
标签: scala functional-programming