【发布时间】:2012-05-26 00:44:51
【问题描述】:
我有一个 Option[Set[String]] 类型的 Scala 值,我试图在集合 filter 方法中使用它:
val opt: Option[Set[String]] = ...
collection.filter {
value =>
opt match {
case Some(set) => set.contains(value)
case None => true
}
}
如果opt 的值为Some(...) 我想使用封闭的Set 来过滤集合,否则我想包含集合中的所有项目。
有没有更好(更惯用)的方式来使用Option(map、filter、getOrElse 等)?
opt 来自一个可选的命令行参数,其中包含要包含的术语列表。如果缺少命令行参数,则包括所有术语。
【问题讨论】: