gpt4 book ai didi

generics - 如何在 F# 中使用通用记录列表在记录中声明成员

转载 作者:行者123 更新时间:2023-12-02 21:40:01 26 4
gpt4 key购买 nike

我陷入了如何传递通用记录列表的困境。我想这样做:

type TabularData<'T>= array<'T>
type Table = {title:string; data:TabularData<'T>} //This of course not work

type Cpu =
{ name:string; load:int; }

type Memory =
{ name:string; load:int; }

//F# not let me pass CPU or Memory

我想创建任何类型的记录列表,并将其传递到序列化为 json

P.D:有关该问题的更多信息。

我忘记添加主要问题了。使用泛型,它会广泛传播到其余功能。因此,我需要用通用签名来标记所有内容,因此可以更通用地说:“我可以在这里拥有任何类型的记录吗?”

最佳答案

您还需要使 Table 类型变得通用:

type Table<'T> = {title:string; data:TabularData<'T>} 

由于您的两条记录具有相同的字段,因此您可以使用 Cpu.name 明确表示您正在创建一个包含 CPU 值的表:

{ title = "hi"; data = [| { Cpu.name = "test"; load = 1 } |]}

关于generics - 如何在 F# 中使用通用记录列表在记录中声明成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30819747/

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