这个功能:
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 ×1