Поделиться через


Точка входа (F#)

В этом разделе описывается метод задания точки входа для программы на F#.

[<EntryPoint>]
let-function-binding

Заметки

В приведенном синтаксисе let-function-binding является определением функции в привязке let.

Точка входа для программы, которая компилируется как исполняемый файл, — это точка, где формально начинается выполнение. Точка входа для приложения на F# задается путем применения атрибута EntryPoint к функции main программы. Эта функция (созданная с помощью привязки let) должна быть последней функцией в последнем компилируемом файле. Последний компилируемый файл — последний файл проекта или файл, передающийся последним в командную строку.

Функция точки входа имеет тип string array -> int. Аргументы, предоставленные в командной строке, передаются в функцию main в массиве строк. Первый элемент массива является первым аргументом; имя исполняемого файла не включается в массив, как в некоторых других языках. Возвращаемое значение используется как код выхода для процесса. Ноль обычно означает успешное завершение; ненулевое значение указывает, что произошла ошибка. Возвращаемые ненулевые коды не имеют каких-либо конкретных значений; значение возвращаемого кода зависит от приложения.

В следующем примере демонстрируется простая функция main.

[<EntryPoint>]
let main args =
    printfn "Arguments passed to function : %A" args
    // Return 0. This indicates success.
    0

Когда данный код выполняется, при том что в командной строке введено EntryPoint.exe 1 2 3, выводится следующий результат.

Arguments passed to function : [|"1"; "2"; "3"|]

Неявная точка входа

Если в программе нет атрибута EntryPoint, который явным образом указывает точку входа, в качестве точки входа используются привязки высшего уровня в последнем компилируемом файле.

См. также

Ссылки

Функции (F#)

Привязки let (F#)