F#: Блок после этого 'let' является незаконченным. Ожидайте выражения
Я знаю, что в F# мы должны связывать каждое значение с именем. И я думаю, что мой в порядке???
Но в заявлении if у меня следующая ошибка.
Block following this 'let' is unfinished. Expect an expression
и это происходит от пусть min= List.nth list i
, Насколько я знаю, я ограничил мин до 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
1 ответ
Если вы хотите изменить изменяемую переменную, вы можете использовать <-
оператор:
if min <= 0 then min <- List.nth list i
Но это не очень функциональный подход. Лучший способ - определить новое значение:
let minUpdated = if min <= 0 then List.nth list i else min