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