gpt4 book ai didi

scala - 单个 arg 匿名函数的简明符号(避免下划线)未按预期工作

转载 作者:行者123 更新时间:2023-12-01 07:21:24 25 4
gpt4 key购买 nike

在浏览了网络上的一些示例后,我意识到有一种方法可以在只有单个 arg 时编写不带下划线的匿名函数。另外,我正在尝试使用 List 上的“span”方法,我从来不知道它存在。无论如何,这是我的 REPL session :

scala> val nums = List(1, 2, 3, 4, 5)
nums: List[Int] = List(1, 2, 3, 4, 5)

scala> nums span (_ != 3)
res0: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))

scala> nums span (3 !=)
res1: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))

到现在为止还挺好。但是当我尝试使用“小于”运算符时:
scala> nums span (_ < 3)
res2: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))

scala> nums span (3 <)
res3: (List[Int], List[Int]) = (List(),List(1, 2, 3, 4, 5))

为什么这表现不同?

最佳答案

scala> nums span (_ < 3)
res0: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))

scala> nums span (3 >)
res1: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))
3 <3 < _ 的快捷方式,它从方法调用创建了一个部分应用的函数。

关于scala - 单个 arg 匿名函数的简明符号(避免下划线)未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593277/

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