在haskell中,我将如何获取并打印执行脚本的名称? 此外,因为我在这里,当我使用一些代码列出目录内容并在控制台(GHCi)打印出来时我得到以下结果“[]”从我对其他语言的知识我会认为是因为它返回一个数组但是打印应该打印数组,不是吗?
这是在Windows上
答案 0 :(得分:6)
我认为来自getProgName
的{{1}}应该这样做,但您应该检查它在Windows上的可移植性。
System.Environment
是空列表。您可以使用"[]"
中的getDirectoryContents
。
System.Directory
答案 1 :(得分:5)
System.Environment
模块用于访问有关系统环境的信息,例如getProgName
,它返回可执行文件的名称。
结果[]
是一个空列表,因此您似乎正在尝试列出空目录的内容。
答案 2 :(得分:2)
正如已经提到的,getProgName应该为你做的伎俩。如果您不熟悉haskell的I / O功能,我建议您阅读一本书,例如Learn You a Haskell for Great Good。它有一个非常好的I / O章节,包括命令行参数。见http://learnyouahaskell.com/input-and-output#command-line-arguments