要从序列中提取一些元素,Scala可以使用大小写匹配,如下所示:
row match {
case Seq(a, b, c, d, e, f) => Seq(a,f)
case _ => logger.warn("Warning")
}
如果原始序列很长(例如1k),并且只想提取少量元素(例如2或3),该怎么办?
为了不写出原始序列中的所有元素(例如,省略a和f之间的1k元素),有没有办法在Scala中进行大小写匹配,可能是这样的:
row match {
case Seq(..., a, ..., f,...) => Seq(a,f)
case _ => logger.warn("Warning")
}
或类似于SQL做select a, f from Seq
的东西?
答案 0 :(得分:0)
感谢@jwvh的回答,使用索引访问元素非常适合这个问题。
示例可以是Seq(row(5), row(77))