2013-06-14 12 views
5

F#コンパイルされたプログラムでコマンドライン引数を取得するにはどうすればよいですか?私はF#プログラムのコマンドライン引数?

let args = Sys.argv

let args = fsi.CommandLineArgs

を試してみた私は

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

でデフォルトのテンプレートを使用しない場合は、それも可能ですが、それは私のために動作しません。 :-(

+2

あなたのmain関数に与えられたargs配列を使用したくないのはなぜ? –

答えて

9

あなたの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"|] 
関連する問題