简单语句中的模糊类型 Haskell
我想简单地添加 3.5 + 楼层 3.5 但出现此错误: 约束中存在不明确的类型变量“t”: '小数t' 源自字面意思“3.5”... “积分t” 由于使用地板而产生的...
如何解决这个问题?
I want simply add 3.5 + floor 3.5 but this error occur:
Ambiguous type variable 't' in constraints:
'Fractional t'
arising from the literal '3.5'...
'Integral t'
arising from a use of floor...
How to fix this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是这样的:
3.5 + fromInteger (floor 3.5)
。原因是
floor
的结果必须是Integral
,但3.5
必须是Fractional
。+
的两个参数必须具有相同的类型,但没有同时为Integral
和Fractional
的默认数据类型,因此会出现错误。This is how:
3.5 + fromInteger (floor 3.5)
.The reason for that is that the
floor
's result must beIntegral
, but3.5
must beFractional
. Both arguments of+
must have the same type, but there is no default data type that is bothIntegral
andFractional
, thus the error.