gpt4 book ai didi

scala - 如何比较 Scala 函数值的相等性

转载 作者:行者123 更新时间:2023-12-04 01:36:48 25 4
gpt4 key购买 nike

如何比较两个 Scala 函数值的相等性。用例是我有一个函数列表,其中列表可以包含重复项,并且我只想执行每个函数一次。

如果我有:

scala> object A {
| def a {}
| }
defined module A

scala> val f1 = A.a _
f1: () => Unit = <function0>

scala> val f2 = A.a _
f2: () => Unit = <function0>

如果我尝试将函数与 == 进行比较或 eq ,我会得到 false在这两种情况下:
scala> f1 == f2
res0: Boolean = false

scala> f1 eq f2
res1: Boolean = false

最佳答案

简短的回答:这是不可能的。

更长的答案:您可以拥有某种函数工厂来确保“相同”的函数实际上是同一个对象。但是,根据您的应用程序的架构,这可能不可行。

关于scala - 如何比较 Scala 函数值的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12725257/

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