gpt4 book ai didi

Haskell 模糊文件路径操作(简化了点)

转载 作者:行者123 更新时间:2023-12-04 01:52:23 26 4
gpt4 key购买 nike

我在haskell中有一个动态构建的文件路径,最终是这样的:

/abc/def/../ghi/./jkl

我想把它简化为更具可读性
/abc/ghi/jkl

用于打印。在haskell中是否有一个库函数可以做到这一点?我找遍了,一个也找不到。写起来并不难,但有点乱,因为你必须“向前看”“..”,如果可以的话,我宁愿使用烘焙函数。

最佳答案

请注意,当涉及链接时,这不仅仅是一个字符串处理问题:

$ mkdir -p foo/bar
$ ln -s foo/bar baz
$ echo gotcha! >foo/quux
$ cat quux
cat: quux: No such file or directory
$ cat baz/../quux
gotcha!

所以你需要做IO。

我能找到的最接近您想要的是 canonicalizePath 来自 System.Directory .它返回从根目录开始的路径,因此您可能希望将它与 makeRelative 结合使用, 也来自 System.Directory .但它确实在 IO 中运行.

关于Haskell 模糊文件路径操作(简化了点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8515001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com