[英]Pattern Match build multiple Seqs
我正在尋找一種使用像這樣的模式匹配建立多個Seq的方法:
statuses.map(result => {
(status.matchStatus, status.source) match {
case ("Matched", Some(API.name)) => //Add status to a matchedApi seq
case ("Matched", Some(MANUAL.name)) => //Add status to a matchedManual seq
case ("Changed", Some(API.name)) => //Add status to a changedApi seq
case ("Changed", Some(ENTRY.name)) => //Add status to a changedManual seq
}
})
有誰知道這在理論上是否可行,還是我完全錯誤地建立了這些列表?
如果可以使用動態組,則可以按狀態+源元組對值進行分組
val groups = statuses.groupBy(x => (x.matchStatus, x.source))
然后像這樣訪問它
val matchedApi = groups.get("Matched", Some(API.name)).getOrElse(Seq.empty)
val changedManual = groups.get("Changed",Some(MANUAL.name)).getOrElse(Seq.empty)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.