用于理解的 Scala 模式匹配
scala pattern matching for comprehension
在 scala 中,您可以使用 for comprehension 遍历对象列表,然后根据元素属性之一的类型创建值数组吗?所以假设我有一个元素列表,每个元素都有一个属性,并且属性可以是不同的类型...
for (element <- elementList) element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}
然后生成的数组将是一个数组,其值类似于
Array("Type1", "Type1", "All Types", "Type1", "All Types", "All Types", "All Types", "All Types")
为什么不使用从 List(Element)
到 List(String)
的映射函数?
如果你想从 List(String)
得到一个数组,你有函数 toArray
.
您所要做的就是 yield
结果...并可能转换为 Array
.
(for (element <- elementList) yield element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}).toArray
在 scala 中,您可以使用 for comprehension 遍历对象列表,然后根据元素属性之一的类型创建值数组吗?所以假设我有一个元素列表,每个元素都有一个属性,并且属性可以是不同的类型...
for (element <- elementList) element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}
然后生成的数组将是一个数组,其值类似于
Array("Type1", "Type1", "All Types", "Type1", "All Types", "All Types", "All Types", "All Types")
为什么不使用从 List(Element)
到 List(String)
的映射函数?
如果你想从 List(String)
得到一个数组,你有函数 toArray
.
您所要做的就是 yield
结果...并可能转换为 Array
.
(for (element <- elementList) yield element.attribute match {
case a: Type1 => "Type1"
case a => "All Types"
}).toArray