有人可以给我一个使用这种数据类型的函数示例:
function :: Num b => b -> a -> [a]
function a b = ...
理想情况下,它也是一个字符串。
不,这不是作业xD我只需要一个项目的例子。
我试过拿b(重复一次)但是我收到了错误
Could not deduce (b ~ Int)
from the context (Num b)
答案 0 :(得分:2)
您可以重复给定元素(类型a
)b
次以创建列表
答案 1 :(得分:2)
这可行(这是一个适合类型描述的函数):
function :: Num b => b -> a -> [a]
function arg1 arg2 = [arg2]
答案 2 :(得分:1)
Prelude提供了许多不必要的单态函数(如take
,drop
,!!
,splitAt
等等):它们需要数字给出的是Int
。模块Data.List
导出这些函数的更多多态版本,这些函数接受Integral
类中任何类型的参数;它们具有相同的名称,但以generic
为前缀。因此,您可以尝试
take a (repeat b)
function a b = genericTake a (repeat b)