我知道在F#中我们应该bind every single value to a name。 而且我认为我的确不错???
但是在 if语句中我有以下错误。
Block following this 'let' is unfinished. Expect an expression
它来自let min= List.nth list i
。
据我所知,我将 min 限制在List.nth list i
。那为什么它应该是一个错误?
let mutable list =[-1;2;3;4]
let mutable min=list.[0]
let mutable i=1
if min<=0 then let min= List.nth list i
答案 0 :(得分:6)
如果要改变可变变量,可以使用<-
运算符:
if min <= 0 then min <- List.nth list i
但这不是一种非常实用的方法。更好的方法是定义一个新值:
let minUpdated = if min <= 0 then List.nth list i else min