gpt4 book ai didi

ocaml - OCaml 中的记录和元组有什么区别

转载 作者:行者123 更新时间:2023-12-04 16:19:37 28 4
gpt4 key购买 nike

记录和元组之间是否有任何区别而不仅仅是句法差异?

有性能差异吗?

元组和记录的实现是否相同?

您是否有可以使用元组完成但不能使用记录完成的事情的示例(和
反之)?

最佳答案

模数语法它们几乎相同。主要的语义区别是元组是结构类型,而记录是名义类型。这意味着例如记录可以递归,而元组不能(至少在没有 -rectypes 选项的情况下不能):

type t = {a : int, b : unit -> t}  (* fine *)
type u = int * (unit -> u) (* error *)

此外,记录可以有可变字段,元组不能。

FWIW,在 OCaml 的姊妹语言 SML 中,元组是记录。也就是说,在 SML 中,(a,b,c) 只是 {1=a,2=b,3=c} 的语法糖,记录也是结构类型。

关于ocaml - OCaml 中的记录和元组有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10481910/

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