作者:吕小布 | 来源:互联网 | 2022-12-27 14:56
我可以为OCAML找到的所有文档都同意"+"运算符仅用于整数加法.我有一个函数需要在每次递归调用时递增一个整数.功能定义:
let rec lst_act x lst c = ...
该函数中的原始递归调用:
(lst_act x t curr+1)
这个功能没有按预期工作,我真的不知道为什么.我决定将递归调用更改为:
(list_act x t (curr + 1))
瞧,它有效.如果+运算符仅用于ocaml中的整数加法,我不明白这些语句是如何不同的.
有人可以解释一下这个差异,以及"+"运算符的每个用途是什么吗?谢谢!
1> myrtlecat..:
函数应用程序的优先级高于+,因此编写它的第一种方式相当于:
((lst_act x t curr) + 1)