如何在 F# 中正确使用其他记录中的字段?



我目前正在学习F#,但我在使用记录和使用它们的字段方面有点困难。我想使用其他记录中的字段。

假设我想定义一个人员记录和一个生日记录。

我的代码

type DateOfBirth =
{
Day: int;
Month: int;
Year: int;
}
type Person = 
{
Name: string;
Birthday: DateOfBirth;
}

我定义了我的两个记录,没有任何错误。现在,我正在尝试创建一个人的实际实例,但是我在以下代码上收到错误(Birthday.Day = 15;(。

let John = 
{
Name = "John";
Birthday.Day = 15;
Birthday.Month = 15;
Birthday.Year = 15;
}

显示的错误消息说: "未定义命名空间或模块'生日'"。

我做错了什么?

为了解决这个问题,我在下面添加了@ildjarn的答案作为可以接受的答案的参考。这个想法是为 Birthday 属性指定 DateOfBirth 实例作为单个单元括在嵌套在外部人员构造中的一组单独的大括号中。

let John = 
{ 
Name = "John"; 
Birthday = { Day = 15; Month = 15; Year = 15 } 
}

最新更新