uh_*_*boi 1 scala pattern-matching for-comprehension
在 Scala 中,您是否可以有一个 for 理解,它遍历对象列表,然后根据元素的一个属性的类型创建一个值数组?所以假设我有一个元素列表,每个元素都有一个属性,并且属性可以是不同的类型......
for (element <- elementList) element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}
Run Code Online (Sandbox Code Playgroud)
然后生成的 Array 将是一个具有类似值的数组
Array("Type1", "Type1", "All Types", "Type1", "All Types", "All Types", "All Types", "All Types")
Run Code Online (Sandbox Code Playgroud)
你所要做的就是yield一个结果......并且可能转换为Array.
(for (element <- elementList) yield element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}).toArray
Run Code Online (Sandbox Code Playgroud)