gpt4 book ai didi

scala - 在 Scala 中将映射展平为可变参数字符串列表

转载 作者:行者123 更新时间:2023-12-04 16:55:14 25 4
gpt4 key购买 nike

Java 事件记录(分析)库有一个方法,它接受一个事件名称,然后像这样的字符串可变参数列表:

Analytics.event("my event name", "key1", "value1", "key2", "value2" ...)

我已经将我的事件参数收集到一个像
Map("key1" -> "value1", "key2" -> "value2" ...)

现在必须有一种方法可以将 Map 弄平列出键和值交替的位置,然后将其提供给事件方法。我有几个猜测,比如转换 Map列出 ListTuple s,但调用 .flatten 说
No implicit view available from (java.lang.String, java.lang.String) => scala.collection.TraversableOnce[B]

我在这里缺少什么?

最佳答案

您可以使用 flatMap 将每个键/值对映射到具有两个元素的列表,然后连接这些列表。

scala> Map("k1" -> "v1", "k2" -> "v2")
res0: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(k1 -> v1, k2 -> v2)

scala> res0.flatMap { case (k,v) => k::v::Nil }
res1: scala.collection.immutable.Iterable[java.lang.String] = List(k1, v1, k2, v2)

一旦你有了它,你就可以将列表传递给事件方法:
Analytics.event("my event name", res1:_*)

关于scala - 在 Scala 中将映射展平为可变参数字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com