0

在 F# 中,我可以这样做:

type coord = float * float  //Type for a 2D-float-tupple
let myDepthCurve1 = { coords = [(1., 2.); (3., 4.)]; depth = 9.4 }

但我不能这样做:

type coord = { longitude : float; latitude : float } //Type for a 2D-float-record
let myDepthCurve1 = { coords = [(longitude = 1., latitude = 2.); (longitude = 3., latitude = 4.)]; depth = 9.4 }

当坐标类型记录中的字段被标记时,我不能一次创建我的深度曲线,这是真的吗?

4

3 回答 3

8

您应该{}用于记录,而不是(). IE:

type coord = { longitude : float; latitude : float } //Type for a 2D-float-record
let myDepthCurve1 = {
     coords = [ { longitude = 1.; latitude = 2. };
                { longitude = 3.; latitude = 4. }];
     depth = 9.4 }
于 2009-07-27T21:39:02.347 回答
1

我认为如果您使用花括号而不是括号来构造“内联”记录表达式会很好。

于 2009-07-27T21:39:20.647 回答
1

假设这样的类型:

输入 x = { 坐标:坐标列表;深度:浮动};;

你可以这样写:

让 myDepthCurve1 = { coords = [{longitude = 1.; 纬度 = 2.}; {经度 = 3.; 纬度 = 4.}]; 深度 = 9.4 };;

于 2009-07-27T21:44:38.140 回答