Scala изготовление кортежей - PullRequest
1 голос
/ 29 мая 2020

У меня есть такой кортеж

val numPairs = Set((2, "a"), (3, "b"), (20, "c"))

Я хочу, чтобы результат выглядел как

(2, "a"), (3, "b"), (20, "c")

Итак, я попробовал

println(numPairs.toString().replace("Set", ""))

, но результаты

(2, a), (3, b), (20, c)

И отсутствует "" для строковой части кортежа.

Кто-нибудь может помочь, пожалуйста

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Вы можете вручную отформатировать строковую версию каждого кортежа с некоторой строковой интерполяцией, а затем объединить их с помощью mkString

val numPairs = Set((2, "a"), (3, "b"), (20, "c"))

println(numPairs.map(a => s"""(${a._1}, "${a._2}")""").mkString(", "))

output

(2, "a"), (3, "b"), (20, "c")
0 голосов
/ 29 мая 2020

Вы можете сопоставить вторую часть, а затем использовать mkString

println(numPairs.map {
  case (a, b) => (a, s""""$b"""")
}.mkString(", "))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...