[英]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.