Извлечение значений из массива в кортеж Есть ли простой способ извлечь значения списка в кортеж в Scala? В основном что-то вроде "15,8".split(",").map(_.toInt).mkTuple //(15, 8) Или каким-то другим способом я могу сделать val (x, y) = "15,8".split(",").map(_.toInt) Ответ 1 Если у вас есть их в массиве, вы можете написать Array перед именами переменных, например: val Array(x, y) = "15,8".split(",").map(_.toInt) Просто замените на Seq или аналогичный, если у вас есть другой тип коллекции. В основном он работает как экстрактор за кулисами. Также см. Этот связанный поток: scala zip list to tuple Ответ 2 Вы можете попробовать совпадение с образцом: val (x, y) = "15,8".split(",") match { case Array(x: String, y: String) => (x.toInt, y.toInt) case _ => (0, 0) // default }
Ответ 1 Если у вас есть их в массиве, вы можете написать Array перед именами переменных, например: val Array(x, y) = "15,8".split(",").map(_.toInt) Просто замените на Seq или аналогичный, если у вас есть другой тип коллекции. В основном он работает как экстрактор за кулисами. Также см. Этот связанный поток: scala zip list to tuple
Ответ 2 Вы можете попробовать совпадение с образцом: val (x, y) = "15,8".split(",") match { case Array(x: String, y: String) => (x.toInt, y.toInt) case _ => (0, 0) // default }