“let{record}=object”语法在F#中有什么作用?
f#
使用以下示例:
type Person = {First:string; Last:string}
let alice = {First="Alice"; Last="Doe"}
let {First=first} = alice
最后一个let到底做了什么?
回答
最后一个 let 绑定是一个带有模式匹配的绑定,特别是使用记录模式。
这将创建一个名为的绑定first,它将从您的记录实例中提取名字。在这种情况下,first绑定到 value "Alice",并且在该范围内可用。
为了说明这一点,您可以在代码后添加以下行:printfn "%s" first,您将看到打印出“Alice”。
请注意,让绑定允许任何模式 - 规范是let identifier-or-pattern [: type] =expressionbody-expression,它允许您使用许多不同的模式。这在许多情况下很有用,例如,如果您有一个元组:
let t = (1, 2)
let (first, second) = t // Use a pattern to bind each tuple value by name
printfn "%i" second