假设我有以下两个case class
E:
case class Address(street: String, city: String, state: String, zipCode: Int)
case class Person(firstName: String, lastName: String, address: Address)
以及Person
类的以下实例:
val raj = Person("Raj", "Shekhar", Address("M Gandhi Marg",
"Mumbai",
"Maharashtra",
411342))
现在,如果我想要更新raj
的zipCode
,那么我必须这样做:
val updatedRaj = raj.copy(address = raj.address.copy(zipCode = raj.address.zipCode + 1))
随着嵌套级别的增加,这会变得更加丑陋。有没有一种更干净的方式(类似Clojure的update-in
)来更新这种嵌套结构?
https://stackoverflow.com/questions/3900307
复制相似问题