小编bih*_*zad的帖子

如何更新嵌套的不可变映射

我正在尝试找到一种更简洁的方法来更新 Scala 中的嵌套不可变结构。我想我正在寻找类似于assoc-inClojure 的东西。我不确定其中有多少类型因素。

例如,在 Clojure 中,要更新嵌套地图的“city”属性,我会执行以下操作:

> (def person {:name "john", :dob "1990-01-01", :home-address {:city "norfolk", :state "VA"}})
#'user/person
> (assoc-in person [:home-address :city] "richmond")
{:name "john", :dob "1990-01-01", :home-address {:state "VA", :city "richmond"}}
Run Code Online (Sandbox Code Playgroud)

我在 Scala 中有哪些选择?

val person = Map("name" -> "john", "dob" -> "1990-01-01", 
             "home-address" -> Map("city" -> "norfolk", "state" -> "VA"))
Run Code Online (Sandbox Code Playgroud)

scala clojure immutability

3
推荐指数
1
解决办法
2867
查看次数

标签 统计

clojure ×1

immutability ×1

scala ×1