以fromIntegral功能为例:
fromIntegral :: (Integral a, Num b) => a -> b
Run Code Online (Sandbox Code Playgroud)
检查是否:
IntegralNum我们可以:info fromIntegral用来找出答案.
结果证明它是独立的.
但为什么?为什么它不成为Integral或Num类型类(或其他类型类)的一部分?这有什么好的理由还是更多的品味问题?
在设计我自己的自定义类型类和函数时,这个例子的答案将帮助我回答相同的问题.
fromIntegral 被定义为
fromIntegral = fromInteger . toInteger
Run Code Online (Sandbox Code Playgroud)
这两个函数分别在Num和Integral类中.当你在一个类中包含一个函数时,你会说它可能会因不同的类型而被不同地定义.fromIntegral才不是.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |