OCaml 编程中 的解药:常见问题

OCaml编程语言,新手最容易犯的两个错误,今天给大家分享一下,看看大家有没有遇到这样的两个问题。

 

问题1:忘记给方法参数加上括号

先看示例

utop # string_of_int 1;;
- : string = "1"
utop # string_of_int 1+1;;
Error: This expression has type string but an expression was expected of type
         int
utop # string_of_int ( 1+1 );;
- : string = "2"
utop # string_of_int ( 1 + 1 );;
- : string = "2"

我们看到,如果调用string_of_int,后面参数是一个运算式,你如果不加括号,就会报错。

加上括号之后,就正确了。

需要注意的是,你观察到了,我括号后面,带不带空格,都不影响程序执行效果。

有时候为了让程序更容易看懂,我们会加空格,让算式看的更清楚一些。

 

问题2:使用了错误的运算符

先看示例,第一段都是错的用法

1.0 + 2.0
1 + 2.0
1 +. 2
1 +. 2.0

那么正确的用法是 什么呢?

1. +. 2.
float_of_int 1 +. 2.
1 + 2
float_of_int 1 +. 2.

正确的姿势是什么?如果是整数计算,那就是正常的 加,减,乘,除符号。

但如果是浮点数,哪怕是只有一个浮点数,你必须

  1. 全部的变量,参与运算的变量,都需要为浮点数,如果不是,请先转为浮点数
  2. 运算符需要加一个点 +.   -. *. /. 表示是浮点数运算

我们看的更清楚一点:

操作    整数运算   浮点数运算
加    a + b    c +. d
减    a - b    c -. d
乘    a * b    c *. c
除    a / b    c /. d
取模    a mod b    modfloat c d

分类: 默认 标签: 发布于: 2022-06-27 09:24:37, 更新于: 2022-06-27 09:25:21