gpt4 book ai didi

f# - 如何访问受歧视联合元组中的项目?

转载 作者:行者123 更新时间:2023-12-02 09:24:03 26 4
gpt4 key购买 nike

假设我声明一个类型,如下所示:

type Kvp = Kvp of string * int

我创建了它的一个实例

let inst = Kvp("twelve", 12)

如何从 inst 获取第一个和第二个值? Fst 和 snd 不起作用:

fst inst;;
stdin(81,5): error FS0001: This expression was expected to have type
'a * 'b
but here has type
Kvp

最佳答案

正如 s952163 提到的,模式匹配就是你想要的。然而,好的语法是这样的

type Kvp = Kvp of string * int
let inst = Kvp("twelve", 12)

let (Kvp (str,i)) = inst
// val str : string = "twelve"
// val i : int = 12

您还可以使用_丢弃您不想要的内容:

let (Kvp (str,_)) = inst

Here's the F# for fun and profit page on Single Case DUs

关于f# - 如何访问受歧视联合元组中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39359448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com