我有Option[Set[String]]
型,我想在收集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
來自可選命令行參數,其中包含要包含的術語列表。如果缺少命令行參數,則包含所有術語。
Function.const(...)的目的是什麼? –
@ om-nom-nom http://stackoverflow.com/questions/5924875/whats-the-purpose-of-function-const – tenshi
如果集合包含一個自定義類而不是'String',有什麼方法可以檢查其中一個實例字段(例如'name')使用你的方法?如果在集合上執行'map'將其轉換爲'String',那麼我將丟失課程內容,我稍後在方法鏈中需要這些內容。順便說一句,你的方法已經很好地爲我的String集合工作。謝謝。 – Ralph