【发布时间】:2012-01-23 20:27:42
【问题描述】:
我怎么说 Haskell 来将某事解释为一种特殊类型? 例如,我有一个列表,想将其长度除以 2。 所以我写了
(length mylist) / 2
得到这个错误
没有 (Fractional Int) 的实例 由使用`/'引起的
因为我想要一个整数除法,所以我想做length mylist、2 和结果Int。
【问题讨论】:
-
JFI 在
Data.List中有genericLength函数。在您的情况下,它不会返回整数答案,但它通常很有用,因为它可以让您避免一些尴尬的fromIntegral调用。 -
需要更多
fromIntegral。不过,说真的,fromIntegral是将 Int “强制转换”为任何实例化Num类型类的神奇方式。