F#记录中的元组

Sug*_* AI 1 f#

我目前正在学习 F#(几天前才开始)。我遇到了一个问题,在谷歌搜索时找不到答案。

如何将记录中的成员或字段定义为元组类型?

我会想象它会像这样工作:

type Rectangle = 
{ Coordinates : (int,int)
  Dimensions : (int,int) }
Run Code Online (Sandbox Code Playgroud)

但这会导致编译错误(如果我将元组拆分为单独的字段,它会起作用)。

那么如何定义一个包含给定结构元组的字段呢?

我在这里先向您的帮助表示感谢!:)

Koe*_*ear 6

您可以使用通配符来定义元组:

type Rectangle = 
     { Coordinates : int*int
       Dimensions  : int*int }
Run Code Online (Sandbox Code Playgroud)

此符号基于数学中的笛卡尔积

您使用括号来实例化它们:

let r = { Coordinates = (10,30); Dimensions = (5,5) }
Run Code Online (Sandbox Code Playgroud)

  • 这里的括号是可选的,在构造中也不是必需的`let r = { Coordinations = 10, 30; 维度 = 5, 5 }` 也不在解构中 `let { 坐标 = x, y } = r`。 (4认同)