在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 }
当coord类型记录中的字段被标记时,我是否无法一次性创建我的深度?
答案 0 :(得分:8)
您应该将{}
用于记录,而不是()
。即:
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 }
答案 1 :(得分:1)
我认为如果您使用花括号而不是括号来构造“内联”记录表达式会更好。
答案 2 :(得分:1)
假设这样的类型:
输入x = {coords:coord list; depth:float} ;;
你可以这样写:
让myDepthCurve1 = {coords = [{longitude = 1。;纬度= 2.}; {经度= 3。; latitude = 4.}]; depth = 9.4} ;;