2

Haskellでは、実行中のスクリプトの名前を取得して出力するにはどうすればよいですか? また、コードを使用してディレクトリの内容をリストし、コンソール (GHCi) に出力するときにここにいるので、他の言語の知識から次の結果 "[]" を取得するだけです。配列を返すためだと思います。しかし、その後、印刷はとにかく配列を印刷する必要がありますか?

これはWindows上にあります

4

3 に答える 3

6

私はそれを行うべきだと思いますgetProgNameSystem.Environment、Windowsでの移植性を確認する必要があります。

"[]"空のリストです。getDirectoryContentsからご利用いただけますSystem.Directory

Prelude System.Directory> getDirectoryContents "."
["hist","parse.hs","b.hs","d.hs","qsort.hs"]
于 2013-01-17T12:51:55.733 に答える
5

このモジュールは、実行可能ファイルの名前を返すSystem.Environmentなど、システム環境に関する情報にアクセスするために使用されます。getProgName

結果[]は空のリストになるため、空のディレクトリの内容をリストしようとしているようです。

于 2013-01-17T12:51:35.500 に答える
2

すでに述べたように、 getProgName があなたのためにトリックを行うはずです。Haskell の I/O 関数に慣れていない場合は、Learn You a Haskell for Great Good などの本を読むことをお勧めします。コマンドライン引数を含む I/O に関する非常に優れた章があります。http://learnyouahaskell.com/input-and-output#command-line-argumentsを参照してください

于 2013-01-17T16:51:01.367 に答える