Mal*_*lio 3 functional-programming scala
我的意思是,我知道这意味着什么:拿出列表并在其中添加1; 也就是说,它相当于map (1 + _ ).我不明白的是Scala如何知道它是等价的.这里发生了什么?
编辑
丹尼尔指出这是一个更普遍的问题.例如
def g(f : Int => Int, x : Int) = f(f(x))
g( (1 + ), 2)
res12: Int = 4
Run Code Online (Sandbox Code Playgroud)
哪个很酷.每天我都会发现Scala可以做的新功能.我想我正在寻找这个特殊事物的完整描述(理想的名称).
它有点像这样:
map期望一个函数Int => B(在这种情况下).1 +没有解析为函数Int => B,所以尝试其他的东西.1 +可以从期望Int参数到函数的方法中解除Int => Int.普雷斯托.
一个人1 + _用来解决歧义.