2013-06-14 2 views
5

F # 컴파일 된 프로그램에서 명령 줄 인수를 얻으려면 어떻게해야합니까? 나는F # 프로그램의 명령 줄 인수는 무엇입니까?

let args = Sys.argv

let args = fsi.CommandLineArgs

을 시도했습니다 내가

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

와 기본 템플릿을 사용하지 않는 경우 가능하지만 나를 위해 작동하지 않습니다 :-(

+2

왜 당신이 당신의 주요 기능에 주어진 인수 배열을 사용하지 않으려는? –

답변

9

wan 주 함수에 전달 된 args 배열을 사용하려면 대신 System.Environment.GetCommandLineArgs()을 사용할 수 있습니다. main 함수에 주어진 args 배열과 달리, 첫 번째 항목으로 실행될 프로그램의 이름을 포함합니다. args.exe 1 2 3 4

open System 

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

실행 :

args: [|"1"; "2"; "3"; "4"|] 
env.cmdline: [|"args.exe"; "1"; "2"; "3"; "4"|] 
관련 문제