2013-06-14 5 views
5

Как я могу получить аргументы командной строки в скомпилированной программе F #? Можно ли, если я не использую шаблон по умолчанию сАргументы командной строки в программе F #?

[<EntryPoint>] 
let Main(args) = ... 

Я попытался

let args = Sys.argv

и

let args = fsi.CommandLineArgs

, но он не работает для меня :-(

+2

Почему вы не хотите использовать массив ARGS предоставленный вашей основной функции? –

ответ

9

Если вы не хотите t, чтобы использовать массив args, переданный вашей основной функции, вместо этого вы можете использовать System.Environment.GetCommandLineArgs(). Обратите внимание, что это будет включать имя программы, выполняемой как первый элемент, в отличие от массива args, предоставленного вашей основной функции.

open System 

[<EntryPoint>] 
let main(args) =  
    printfn "args: %A" args 
    printfn "env.cmdline: %A" <| Environment.GetCommandLineArgs()  
    0 

Запуск от имени args.exe 1 2 3 4:

args: [|"1"; "2"; "3"; "4"|] 
env.cmdline: [|"args.exe"; "1"; "2"; "3"; "4"|] 
Смежные вопросы