F# 圆括号,花括号

F# 圆括号,花括号,f#,F#,我试图理解以下代码: 但是我找不到关于“let something(…){…}=…”语法的任何信息,例如: let processBoundary (prevY, claimSet, total) {cursor=cursor; isAdding=isAdding; data=(top, height)} = ... 这是什么?让我想起了元组和解构,但也许不是这样 谢谢它实际上就像元组一样被解构,只是在本例中它是一个记录 一个显著的区别是,虽然使用元组时必须匹配各个部分的确切数量和位置,但在

我试图理解以下代码:

但是我找不到关于“let something(…){…}=…”语法的任何信息,例如:

let processBoundary (prevY, claimSet, total) {cursor=cursor; isAdding=isAdding; data=(top, height)} = ...
这是什么?让我想起了元组和解构,但也许不是这样


谢谢

它实际上就像元组一样被解构,只是在本例中它是一个记录

一个显著的区别是,虽然使用元组时必须匹配各个部分的确切数量和位置,但在分解记录时,可以省略任何此时不感兴趣的字段


我在F#once中写了一篇关于模式匹配/解构的不同方法的文章(非详尽);也许这有助于理解这里。

hi,例如processBoundary获取一个元组,它有3个字段和一个记录,并从记录中销毁2个字段。是的。在本例中,它实际上做得更多,因为它在记录中匹配的三个字段中有一个是元组,它本身被再次解构。(总之,我不得不说,我不认为这个例子是一个很好的F#代码学习的地方,因为可读性和可理解性似乎不是作者关注的重点。)