F#可以很容易地定义类型
type coords = { X : float; Y : float }
但是如何在不进入更详细的类定义语法的情况下为构造函数定义约束/检查参数?例如,如果我想从(0,0)开始coords或抛出异常.
此外,如果我将我的定义更改为类,我需要实现Equals()等所有我不想要的样板代码(以及我在C#中试图摆脱的那些).
f# constructor record
constructor ×1
f# ×1
record ×1