我的意思是,我知道这意味着什么:拿出列表并在其中添加1;也就是说,它相当于map (1 + _ )
。我不明白的是Scala 如何知道它是等价的。这是怎么回事?
修改
丹尼尔指出这是一个更普遍的问题。例如
def g(f : Int => Int, x : Int) = f(f(x))
g( (1 + ), 2)
res12: Int = 4
哪个很酷。每天我都会发现Scala可以做的新功能。我想我正在寻找这个特定的事物的完整描述(理想的名称)。
答案 0 :(得分:8)
有点像这样:
map
需要一个函数Int => B
(在本例中)。1 +
无法解析为Int => B
函数,因此请尝试其他操作。1 +
可以从期望Int
参数的方法解除为函数Int => Int
。的Presto。
一个人使用1 + _
来解决歧义。