Haskellでは、実行中のスクリプトの名前を取得して出力するにはどうすればよいですか? また、コードを使用してディレクトリの内容をリストし、コンソール (GHCi) に出力するときにここにいるので、他の言語の知識から次の結果 "[]" を取得するだけです。配列を返すためだと思います。しかし、その後、印刷はとにかく配列を印刷する必要がありますか?
これはWindows上にあります
Haskellでは、実行中のスクリプトの名前を取得して出力するにはどうすればよいですか? また、コードを使用してディレクトリの内容をリストし、コンソール (GHCi) に出力するときにここにいるので、他の言語の知識から次の結果 "[]" を取得するだけです。配列を返すためだと思います。しかし、その後、印刷はとにかく配列を印刷する必要がありますか?
これはWindows上にあります
私はそれを行うべきだと思いますgetProgName
がSystem.Environment
、Windowsでの移植性を確認する必要があります。
"[]"
空のリストです。getDirectoryContents
からご利用いただけますSystem.Directory
。
Prelude System.Directory> getDirectoryContents "."
["hist","parse.hs","b.hs","d.hs","qsort.hs"]
このモジュールは、実行可能ファイルの名前を返すSystem.Environment
など、システム環境に関する情報にアクセスするために使用されます。getProgName
結果[]
は空のリストになるため、空のディレクトリの内容をリストしようとしているようです。
すでに述べたように、 getProgName があなたのためにトリックを行うはずです。Haskell の I/O 関数に慣れていない場合は、Learn You a Haskell for Great Good などの本を読むことをお勧めします。コマンドライン引数を含む I/O に関する非常に優れた章があります。http://learnyouahaskell.com/input-and-output#command-line-argumentsを参照してください