我从ocaml开始尝试:
float_of_int 8/2 ;;
我原以为它返回4.0因为8/2是4但是我得到一个错误说:
Error: This expression has type float but an expression was expected of type
int
我在这里缺少什么?
答案 0 :(得分:4)
你的表达式解析如下:
(float_of_int 8) / 2
因此,您要求使用适用于整数的/
来划分浮点数。
函数应用程序(在OCaml中通过并排放置两个表达式表示)具有非常高的优先级,高于所有二进制中缀运算符。所以你需要使用括号。
如果你写的话会有效:
float_of_int (8/2)
答案 1 :(得分:0)
在阅读了Jeffrey的回答之后,我找到了另一种方法来处理这个表达式,但声明稍长一些:
[product_category category="appliances"]