是否有一种简单的方法可以将列表的值提取到Scala中的元组中?
基本上像
"15,8".split(",").map(_.toInt).mkTuple //(15, 8)
或其他一些我可以做的方式
val (x, y) = "15,8".split(",").map(_.toInt)
答案 0 :(得分:37)
如果你有一个数组,你可以在变量名前面写Array
,如下所示:
val Array(x, y) = "15,8".split(",").map(_.toInt)
如果您有其他集合类型,只需替换为Seq
或类似。
它基本上就像幕后的extractor一样。另请参阅此相关主题:scala zip list to tuple
答案 1 :(得分:6)
您可以尝试模式匹配:
val (x, y) = "15,8".split(",") match {
case Array(x: String, y: String) => (x.toInt, y.toInt)
case _ => (0, 0) // default
}