假设我有一个变量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
更新:
contains
在SeqLike
中定义,因此以上内容适用于任何序列。更新2:这是
contains
中SeqLike
的定义:def contains(elem: Any): Boolean = exists (_ == elem)
关于scala - 在Scala中,有一种简洁而简单的方法来比较一个值和多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5927608/