我正在尝试找到一种更简洁的方法来更新 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)