gpt4 book ai didi

scala - 这是什么意思: map (1 + )

转载 作者:行者123 更新时间:2023-12-01 09:37:42 27 4
gpt4 key购买 nike

我的意思是,我知道这意味着什么:取出列表并将其中的每个元素加 1;也就是说,它等价于 map (1 + _)。我不明白的是 Scala 如何知道它是等价的。这是怎么回事?

编辑

Daniel 指出这是一个更普遍的问题。例如

def g(f : Int => Int, x : Int) = f(f(x))
g( (1 + ), 2)
res12: Int = 4

这很酷。每天我都会发现 Scala 可以做的新的有用的事情。我猜我正在寻找这个特定事物的完整描述(最好是名称)。

最佳答案

有点像这样:

  1. map 需要一个函数 Int => B(在这种情况下)。
  2. 1 + 不能解析为函数 Int => B,所以试试其他方法。
  3. 1 + 可以从需要 Int 参数的方法提升到函数 Int => Int

Presto。

使用 1 + _ 解决歧义。

关于scala - 这是什么意思: map (1 + ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com