【发布时间】:2021-11-19 01:37:32
【问题描述】:
定义具有以下类型签名的函数!
One :: Num a => a -> Bool -> a
One = ?
我不明白 Num 是如何成为 bool 并再次成为 Num 的。任何人都可以帮助我理解和解决它。
【问题讨论】:
-
这意味着您必须编写一个函数,该函数接受一个数字和一个布尔值,并返回一个数字(与原始类型相同)。有很多方法可以编写这样的函数,但我不知道你被要求编写哪一个。
-
Num参数不是Bool;它完全独立于它。One 3 True、One 4 False等是调用的示例。鉴于所有整数字面量都具有Num a => a类型,因此定义任意数量的忽略这两个参数的函数返回任何您喜欢的数字是很简单的。