gpt4 book ai didi

haskell - 类声明和实例声明之间有什么区别?

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

我正在阅读 this ,但老实说,我很难看出什么

class Eq a where 
(==) :: a -> a -> Bool

实现,其中
instance Eq Integer where 
x == y = x `integerEq` y

没有达到。我理解第二个代码定义了对两个 Integer 类型执行相等的结果应该是什么。那么第一个的目的是什么??

最佳答案

class声明说“我现在要定义一堆函数,这些函数适用于几种不同的类型”。 instance声明说“这就是这些函数对这种类型的工作方式”。

在您的具体示例中,class Eq说“Eq 表示具有名为 == 的函数的任何类型,而 instance Eq Integer说“这就是 ==Integer 的作用方式”。

关于haskell - 类声明和实例声明之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529439/

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