F #, оператор присваивания против оператора набора

Я начал с F #, и некоторая структура кода удивляет меня. Например:

У меня есть следующий код:

let mutable s = 10
s <- 1 + s
printf "%i" s

Все понятно с математической стороны. Я пометил «s» как изменяемый и присвоил новое значение «s». Результат 11.

Позвольте мне попробовать другую часть кода:

let mutable s = 10
s = 1 + s
printf "%i" s

Этот код работал. Но я вижу чтоs = 1 + s немного странно со стороны математики. Результат выполнения этого был 10.

Мой вопрос, что происходит в последнем примере? Почему я не получил ошибку? Являетсяs = 1 + s просто игнорируется? Почему? Я не получил никакой ошибки в выводе.

Ответы на вопрос(2)

Ваш ответ на вопрос