我和一个朋友正在阅读 F#,目前正在搞乱记录。
我们为代表一个人做了以下记录:
type Person =
{name: string;
father: Person;
mother: Person;}
F# Interactive 接受它,并且在某种程度上,该类型是有意义的,只是我们看不到如何使用它。当我们试图声明一个人时,我们必须在声明的时候声明父母,然后依次声明他们的父母等等。有没有办法实际使用这种类型?如果没有,为什么我们甚至能够创造它?
PS:我们很清楚,由于父母是可选的,我们应该用选项 (Some x | None) 类型封装它们。
编辑
我的问题不是如何解决上述问题,解决方案已经写在 PS 中。我的问题是,我可以实际使用上述类型,例如声明上述形式的人员记录吗?如果没有,我一定是做了一个无法使用的类型。为什么我可以做出这样的类型?