scala - 在Scala中,有一种简洁而简单的方法来比较一个值和多个值

标签 scala equality

假设我有一个变量x,我想检查它是否等于多个值a,b,c,d,e中的任何一个(我的意思是==相等,不是同一性)。

在SQL查询中,使用

WHERE x IN (a, b, c, d, e).


Scala中是否有等效的东西这么简单?我知道可以用复杂的表达式在一行中完成它,例如构建HashSet并检查集合中是否存在,但我更喜欢使用简单的结构(如果有的话)。

最佳答案

我更喜欢contains(a)而不是exists(_ == a)

scala> List(3, 4, 5) contains 4
res0: Boolean = true

scala> List(3, 4, 5) contains 6
res1: Boolean = false


更新:containsSeqLike中定义,因此以上内容适用于任何序列。

更新2:这是containsSeqLike的定义:

def contains(elem: Any): Boolean = exists (_ == elem)

关于scala - 在Scala中,有一种简洁而简单的方法来比较一个值和多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5927608/

相关文章:

scala - 使用仅适用于较旧 Scala 版本的 Scala 库

Javascript:为什么两个对象不相等?

c++ - double : efficency and quality of my test 的相等性检查

scala - Spark Streaming textFileStream 复制

scala - 不在 Controller 的方法中使用 head on list

scala - 如何在 Scala 中为 TreeSet 分配顺序而不重复我自己

scala - Spark 流中是否需要检查点

c++ - C++中相等运算符的求值顺序

python - 等价类优化解

Java - 反编译时字符串等于