Как вы можете сравнить два значения функции 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