友人と私は F# について調べていて、現在レコードをいじっています。
人を代表するために次の記録を作成しました。
type Person =
{name: string;
father: Person;
mother: Person;}
F# Interactive はそれを受け入れます。使用方法がわからないことを除けば、ある意味で型は理にかなっています。人を宣言しようとすると、宣言の時点で両親を宣言し、次に両親を宣言する必要があります。このタイプを実際に使用する方法はありますか?そうでない場合、なぜ私たちはそれを作成できるのでしょうか?
PS: 親はオプションであることを意図しているため、オプション (Some x | None) 型でカプセル化する必要があることは十分承知しています。
編集
私の質問は、上記を修正する方法ではありません。解決策はすでに PS に書かれています。私の質問は、上記の型を実際に使用できますか。たとえば、上記の形式の Person レコードを宣言できますか? そうでなければ、使えない型を作ったに違いない。なんでこんな型ができるの?