在 Scala Set 中附加 String 元素的优雅方法是什么?

What's an elegant way to append String elements in a Scala Set?

我有一个不可变的 Scala Set[String],其中包含一些字符串,比如 {"a", "b", "c"}。我基本上想将它们附加到看起来像 "\"a\",\"b\",\"c\""String 中。我知道我可以制作一个 var resultStr 并使用 for 循环来获得结果。但是由于 Scala 鼓励在 val 上使用不可变的 val 并且在集合上定义了如此多的操作,我想知道是否有更优雅的实现结果的方法。

谢谢。

如果你想从 scala 集合中创建一个字符串,那么你可以简单地使用 mkString(sep)。例如,

Set("a", "b", "c").mkString(",")

您可以使用 map 将它们用引号括起来,然后使用 mkString 将它们连接起来并以逗号作为分隔符。

s.map(x => s""""$x"""").mkString(",")

s.map(x => "\"" + x + "\"").mkString(",")

(高音引号是 Scala 避免从内部转义任何内容的方法,美元是字符串插值。)