小编use*_*613的帖子

Num vs Integral

这个功能:

hola :: (Integral a) => a -> String
hola 1 = "OK"
hola _ = "asdf"
Run Code Online (Sandbox Code Playgroud)

工作良好.但是这一个:

hola :: (Num a) => a -> String
hola 1 = "OK"
hola _ = "asdf"
Run Code Online (Sandbox Code Playgroud)

无法编译:"无法推断(方程式a)由字面"1"引起的"

我真的不明白.我正在阅读一个教程

"Integral也是一个数字类型类.Num包括所有数字,包括实数和整数,Integral只包括整数(整数).在这个类型类中是Int和Integer." http://learnyouahaskell.com/types-and-typeclasses

为什么我不能使用Num?

haskell

22
推荐指数
2
解决办法
7267
查看次数

标签 统计

haskell ×1