【发布时间】:2013-12-05 16:14:02
【问题描述】:
我想知道在 F# 中是否有一些用于克隆类实例的糖,只改变一个或几个属性。
我知道在 F# 中可以使用记录:
let p2 = {p1 with Y = 0.0}
【问题讨论】:
-
我决定使用 OO,以保持我的代码整洁和功能井井有条。
-
@GuyCoder:“对于类型固有的操作,请使用属性和方法。这是特别指出的,因为一些具有函数式编程背景的人避免一起使用面向对象编程,更喜欢包含定义与类型相关的内在函数的一组函数(例如,长度 foo 而不是 foo.Length)。[..] 通常,在 F# 中,使用面向对象编程作为软件工程设备是首选......“ (research.microsoft.com/en-us/um/cambridge/projects/fsharp/…)