簡體   English   中英

Scala模式匹配以進行理解

[英]scala pattern matching for comprehension

在Scala中,您是否可以具有for理解能力,可以遍歷對象列表,然后根據元素屬性之一的類型創建值數組? 因此,假設我有一個元素列表,每個元素都有一個屬性,並且該屬性可以是不同的類型...

for (element <- elementList) element.attribute match {
 case a: Type1 => "Type1"
 case a => "All Types"
}

然后所得的Array將是一個值類似的數組

Array("Type1", "Type1", "All Types", "Type1", "All Types", "All Types", "All Types", "All Types") 

您所要做的就是yield結果...並可能轉換為Array

(for (element <- elementList) yield element.attribute match {
  case a: Type1 => "Type1"
  case a => "All Types"
}).toArray

為什么不使用從List(Element)List(String)的映射函數?

如果您想從List(String)獲取數組,則可以使用toArray函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM