doesFileExist找不到存在的文件

时间:2018-04-14 21:41:13

标签: haskell

所以我有一个目录/ test,其中包含以下文件:

test.txt  
BasicLoop.vm  
FibonacciSeries.vm  
StackTest.vm  
test.vm

我试图将所有.vm文件读入一个大字符串,为了做到这一点,我想使用filterM doesFileExist dir dirgetDirectoryContents的结果,删除目录和符号链接等等,但是当我测试它时,该过滤器的结果只是BasicLoop.vm和test.vm.它们都不是空的,当我偷看dir的内容时它们会出现,所以它们显然存在。为什么功能说他们不是?

1 个答案:

答案 0 :(得分:3)

  

为什么功能说他们没有?

因为getDirectoryContents返回文件和目录名称,而不是完整的文件路径。要看到这一点,请尝试以下方法:

λ:> getDirectoryContents "test"
["data","..","test.dats","."]