В F # функция должна привязать имя к значению.
Оператор printfn
имеет возвращаемое значение, и это в конечном итоге то, что связывается с test
.
Без оператора printfn
у вас есть только оператор, связывающий значение от 1 до x
.Компилятор будет ожидать что-то связанное с тестированием.Поскольку тестовая функция останавливается в этой точке, именно поэтому вы видите ошибку компилятора.
Если вы хотите, чтобы ваша функция просто выполняла какие-то действия (возможно, с побочными эффектами), вам следует завершить ее с помощью ()