我想知道这是否仅对我来说是一个问题,以及如何解决这个问题。
我现在位于$HOME
目录中,并且可以touch aaa
创建一个文件。
然后我启动ghci
。我可以import System.Directory
导入此程序包。
现在出现了问题。如果尝试doesFileExist aaa
,则会得到True
,因为它确实存在。如果我尝试doesFileExist ~/aaa
,我将得到False
!!!
那是什么问题呢?如果发现不清楚,请编辑我。谢谢。
最佳答案
如果要像外壳一样扩展~
,则可以定义一个函数
expandHome :: FilePath -> FilePath -> FilePath
expandHome home ('~':xs) = home ++ xs
expandHome home path = path
这可以称为
λ> h <- getHomeDirectory
λ> expandHome h "~/temp"
"/home/kqr/temp"