11

如何在 F# 编译程序中获取命令行参数?如果我不使用默认模板是否有可能

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

我试过了

let args = Sys.argv

let args = fsi.CommandLineArgs

但这对我不起作用:-(

4

1 回答 1

16

如果您不想使用传递给 main 函数的 args 数组,则可以System.Environment.GetCommandLineArgs()改用。请注意,这将包括作为第一项运行的程序的名称,这与提供给 main 函数的 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"|]
于 2013-06-14T16:22:14.833 回答