【发布时间】:2014-10-03 20:04:21
【问题描述】:
在 Scala 中,可以使用“包含”检查项目是否是 Set 的成员:
object Main extends App {
val the_set = Set(1, 2, 3, 4)
if( the_set contains 3 ) println("The set contains 3!")
}
但是,我想做一个类似的比较,但首先是物品,最后是套装(我知道这是一个小风格点)。我有一些 Python 的背景,所以我希望有一些类似于 Python 的 in 运算符的东西:
the_set = set([1, 2, 3, 4])
if 3 in the_set: print "The set contains 3!"
在 Scala 中有没有办法做到这一点?如果你很好奇,我想这样做的原因是编写一个简洁的 if 语句,将值与我构建的长 Set 进行比较。同时,我希望item排在第一位,这样代码更容易阅读和理解。
谢谢!
【问题讨论】:
-
the_set contains 3看起来已经很简洁了。我看不出3 in the_set更容易阅读。 -
@Gangstead
in对于大型内联集看起来更好(但是,简单的解决方案是诉诸变量定义)。 -
@Gangstead:我同意变量定义会起作用。出于文体原因,我只是希望有更好的东西。 (是的,我很肤浅)