我正在尝试为我正在做的项目创建一些示例数据。为此,我需要一个简单的对象结构,其中对象包含对象数组。在这种情况下,批评家可以进行评论。代码如下所示:
type Review =
{ MovieName: string;
Rating: double }
type Critic =
{ Name: string;
Ratings: Review[] }
let theReviews = [{ MovieName = "First Movie"; Rating = 5.5 }; { MovieName = "Second Movie"; Rating = 7.5 };]
let theCritic = { Name = "The Critic"; Ratings = [{ MovieName = "First Movie"; Rating = 5.5 }; { MovieName = "Second Movie"; Rating = 7.5 };] }
“评论”行工作正常,但我无法让“theCritict”行工作。我收到的错误是:
Error 1 This expression was expected to have type Review []
but here has type 'a list
如何让它发挥作用?
最佳答案
数组文字使用[| ... |]
而不是 [ ... ]
,它们是列表文字 - 您需要类似
let theCritic = { Name = "The Critic"; Ratings = [|{ MovieName = "First Movie"; Rating = 5.5 }; { MovieName = "Second Movie"; Rating = 7.5 };|] }
这解释了错误 - 您使用了列表文字而不是数组文字
关于arrays - F# - 定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015630/