gpt4 book ai didi

haskell - 学习Haskell中 ":?: "运算符的含义

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

我正在学习 Haskell,我刚刚在我的书中看到了这个奇怪的数据结构,它看起来像这样:data ListaOrd a = a :?: (ListaOrd a) | Nulo 派生 Show。据说这应该代表一个有序列表,但我认为我并没有真正理解它。我的问题是,该代码中“:?:”符号的含义是什么?

最佳答案

My question is, what is the meaning of :?:

您在这里定义一个数据构造函数,它是:?: 运算符。事实上,在 GHCi 中您可以查询 (:?:) 函数的类型:

:t (:?:)
(:?:) :: a -> ListaOrd a -> ListaOrd

因此,它与您使用其他名称完全相同,例如:

data ListaOrd a = <b>Conso</b> a (ListaOrd a) | Nulo deriving Show

但这里我们定义了一个名为 (:?:) 的数据构造函数,它也可以与运算符语法一起使用。事实上,您可能已经使用过此类数据构造函数。例如 (:) 是列表的数据构造函数。

关于haskell - 学习Haskell中 ":?: "运算符的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139078/

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