轨道
/
F#
F#
/
练习
/
透镜人
透镜人

透镜人

困难

说明

使用 lens 更新嵌套记录(仅适用于具有不可变数据的语言)。

更新嵌套的不可变记录的字段有点烦人。 结构越深,这类情况的代码就越繁琐。 比如,你有一个 Person,它包含一个 Address,Address 里有一个 Street,Street 里有一个 Number,那么要更新 Number,就得先创建一个带有新 Number 的 Street,再创建一个带有新 Street 的 Address,最后创建一个带有新 Address 的 Person。 是不是已经晕了?

解决这个问题的一个办法是使用 lens。

用 lens 实现几个访问记录的函数。 测试套件也允许你完全不用 lens,这样你就可以尝试不同的思路。

提示

  • 这个练习要求你使用 Aether 库,它为 F# 添加了 lenses 功能。借助 lenses,你可以相当轻松地读取或更新嵌套结构。
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
F# Exercism

准备好开始 透镜人 了吗?

注册 Exercism,借助 18 个概念148 个练习 和真人导师指导,学习并掌握 F#,全部免费。