使用 lens 更新嵌套记录(仅适用于具有不可变数据的语言)。
更新嵌套的不可变记录的字段有点烦人。 结构越深,这类情况的代码就越繁琐。 比如,你有一个 Person,它包含一个 Address,Address 里有一个 Street,Street 里有一个 Number,那么要更新 Number,就得先创建一个带有新 Number 的 Street,再创建一个带有新 Street 的 Address,最后创建一个带有新 Address 的 Person。 是不是已经晕了?
解决这个问题的一个办法是使用 lens。
用 lens 实现几个访问记录的函数。 测试套件也允许你完全不用 lens,这样你就可以尝试不同的思路。