私はこの問題の慣用的な解決策を探しています。
Scala(不変)マップを作成val
していますが、オプションで1つ以上のアイテムを追加したいと思います。
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else ???))
?を使用せずにこれを行うにはどうすればよいvar
ですか?何を置き換える必要があり???
ますか?+
演算子を使用する方が良いですか?
val aMap =
Map(key1 -> value1,
key2 -> value2) +
(if (condition) (key3 -> value3) else ???))
考えられる解決策の1つは次のとおりです。
val aMap =
Map(key1 -> value1,
key2 -> value2,
(if (condition) (key3 -> value3) else (null, null))).filter {
case (k, v) => k != null && v != null
}
これが最善の方法ですか?