鑑於List
,我想過濾掉任何等於Unit -()
的元素。來自列表的過濾器單元
有沒有比這個代碼更好的過濾方法?
scala> List(()).filter(x => x !=())
<console>:8: warning: comparing values of types Unit and Unit using `!=' will
always yield false
List(()).filter(x => x !=())
^
res10: List[Unit] = List()
我都喜歡的答案。我如何決定? –
它說它總會產生錯誤的原因是因爲'Unit'是單身類型。你需要從列表中過濾單元值的實際用例是什麼?你是否出於某種原因使用了「List [Any]」? – DaoWen
@DaoWen,使用for表達式,我遍歷List [JsObject]'。對於每個元素,我想創建一個表示鍵值的元組(String,String)。但是,如果密鑰是「無效的」,那麼我在表達式中返回「無」。但是,關於我的問題(除了問題),我使用了一個'list.flatMap(x => x match {case Some(x)=> List(x); case _ => None})'然後全部在我的輸出列表中,'None'將被忽略(也許這是錯誤的術語?) –