gpt4 book ai didi

scala - 可选地将项目添加到 Scala map

转载 作者:行者123 更新时间:2023-12-03 10:10:30 25 4
gpt4 key购买 nike

我正在寻找这个问题的惯用解决方案。

我正在 build 一个 val Scala (immutable) Map 并且想要选择性地添加一项或多项:

val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else ???))

如何在不使用 var 的情况下完成此操作?用什么代替 ??? ?用 +更好吗?运算符(operator)?
val aMap =
Map(key1 -> value1,
key2 -> value2) +
(if (condition) (key3 -> value3) else ???))

一种可能的解决方案是:
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else (null, null))).filter {
case (k, v) => k != null && v != null
}

这是最好的方法吗?

最佳答案

怎么样?

val optional = if(condition) Seq((key3 -> value3)) else Nil
val entities = Seq(key1 -> value1, key2 -> value2) ++ optional
val aMap = Map(entities:_*)

关于scala - 可选地将项目添加到 Scala map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048853/

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