首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在OCaml中,我们为什么会有'+.',‘-’但是我们只使用'<‘而不是’<.‘?

在OCaml中,我们为什么会有'+.',‘-’但是我们只使用'<‘而不是’<.‘?
EN

Stack Overflow用户
提问于 2018-09-05 07:50:47
回答 1查看 81关注 0票数 1

标题说明了这一点。

在OCaml中,你可以做1+1,但不能做1.0 + 1.0

我有点明白了,'+‘是一个接受两个int参数的函数。

但是为什么我们有'>‘,它适用于float和int呢?

这是不一致的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 08:19:40

注意,'>‘适用于任何一种类型的两个值。这不仅仅是为了数字。

但确实,多态比较运算符是OCaml中的一种特例。从理论上讲,定义这样的函数是不可能的,因为没有一种先验的方法来“查看”具有任意类型的值。然而,这些函数仍然存在,因为它们非常有用。

它们也有些危险,许多OCaml专家建议要非常小心地使用它们。

这里有一些关于限制的讨论:Does compare work for all types?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52175308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档