OCaml中数学运算语法错误后的if语句
嗨,我是OCaml新手,正在解决一个问题。下面的方法不是我必须要做的,但是我已经将代码中的错误缩小到了这个范围。我想知道如果我去掉x=x*,为什么它会起作用。2.0但当我添加它时,if语句出现语法错误OCaml中数学运算语法错误后的if语句,ocaml,Ocaml,嗨,我是OCaml新手,正在解决一个问题。下面的方法不是我必须要做的,但是我已经将代码中的错误缩小到了这个范围。我想知道如果我去掉x=x*,为什么它会起作用。2.0但当我添加它时,if语句出现语法错误 让idk(x:float)= x=x*。2 如果(x>0.0),则为真,否则为假;; 我怀疑你在想x=x*。2.0作为更改x值的语句。但在OCaml中,变量的值不能更改 在OCaml表达式中,=是相等比较运算符。所以x=x*。2.0是一个布尔表达式。也就是说,它要么是真的,要么是假的 由于您不希望
让idk(x:float)=
x=x*。2
如果(x>0.0),则为真,否则为假;;
我怀疑你在想x=x*。2.0
作为更改x
值的语句。但在OCaml中,变量的值不能更改
在OCaml表达式中,=
是相等比较运算符。所以x=x*。2.0是一个布尔表达式。也就是说,它要么是真的,要么是假的
由于您不希望两个表达式紧跟在一起,因此语法错误的详细信息可能没有用处
虽然不能更改变量的值,但可以有任意数量的局部变量。声明局部变量的方法如下所示:
let my_local_variable = expression1 in expression2
let idk (x: float) =
let local_x = x *. 2.0 in
if (local_x > 0.0) then true else false
为了得到你看得远的效果(我认为),你可以写这样的东西:
let my_local_variable = expression1 in expression2
let idk (x: float) =
let local_x = x *. 2.0 in
if (local_x > 0.0) then true else false
我怀疑你在想x=x*。2.0
作为更改x
值的语句。但在OCaml中,变量的值不能更改
在OCaml表达式中,=
是相等比较运算符。所以x=x*。2.0是一个布尔表达式。也就是说,它要么是真的,要么是假的
由于您不希望两个表达式紧跟在一起,因此语法错误的详细信息可能没有用处
虽然不能更改变量的值,但可以有任意数量的局部变量。声明局部变量的方法如下所示:
let my_local_variable = expression1 in expression2
let idk (x: float) =
let local_x = x *. 2.0 in
if (local_x > 0.0) then true else false
为了得到你看得远的效果(我认为),你可以写这样的东西:
let my_local_variable = expression1 in expression2
let idk (x: float) =
let local_x = x *. 2.0 in
if (local_x > 0.0) then true else false
另外,(local_x>0.0)
也是一个可以直接返回的布尔表达式。如果存在,则无需,并且不必指定x的类型:让idk x=let local\u x=x*。2.0英寸(本地_x>0.0)
。当然,和2.0*。x>0.0
实际上与x>0.0
相同。因此,可以编写整个函数让idk x=x>0.0
。甚至更短,let idk=((另外(local_x>0.0)
也是一个可以直接返回的布尔表达式。如果存在,则不需要,并且不必指定x的类型:let idk x=let local_x=x*.2.0 in(local_x>0.0)
。当然,而且2.0*.x>0.0
实际上与x>0.0
相同。因此可以编写整个函数让idk x=x>0.0
。甚至更短,让idk=((