Haskell: 如何从绝对路径和相对路径对计算绝对路径
Haskell: how calculate absolute path from an absolute path and a relative path pair
我需要在 Haskell 中实现与以下 C# 代码相同的功能:
string abs = "X:/A/B/Q";
string rel = "../../B/W";
var path = Path.GetFullPath(Path.Combine(abs,rel));
=> "X:/A/B/W"
参考:Combine an absolute path with a relative path
是否有任何标准包可以做到这一点?
Hoogling 找到了我的 makeAbsolute 和 canonicalizePath,但它们都使用当前目录作为基础,而不是提供的文件路径。
我猜任何 Haskell 版本都需要 return 类似 IO(任一字符串文件路径)
首先,您可以将路径与 (</>) 结合起来:
abs </> rel
然后使用 canonicalizePath
删除任何间接。
canonicalizePath (abs </> rel) >>= \abs -> ...
我需要在 Haskell 中实现与以下 C# 代码相同的功能:
string abs = "X:/A/B/Q";
string rel = "../../B/W";
var path = Path.GetFullPath(Path.Combine(abs,rel));
=> "X:/A/B/W"
参考:Combine an absolute path with a relative path
是否有任何标准包可以做到这一点?
Hoogling 找到了我的 makeAbsolute 和 canonicalizePath,但它们都使用当前目录作为基础,而不是提供的文件路径。
我猜任何 Haskell 版本都需要 return 类似 IO(任一字符串文件路径)
首先,您可以将路径与 (</>) 结合起来:
abs </> rel
然后使用 canonicalizePath
删除任何间接。
canonicalizePath (abs </> rel) >>= \abs -> ...