【问题标题】:Haskell: how calculate absolute path from an absolute path and a relative path pairHaskell:如何从绝对路径和相对路径对计算绝对路径
【发布时间】:2018-04-29 08:36:07
【问题描述】:

我需要在 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 版本都需要返回类似 IO (Either String FilePath) 的东西

【问题讨论】:

标签: haskell filepath


【解决方案1】:

首先,您可以将路径与(</>)结合起来:

abs </> rel

然后使用canonicalizePath 删除任何间接。

canonicalizePath (abs </> rel) >>= \abs -> ...

【讨论】:

    猜你喜欢
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 2010-12-17
    • 1970-01-01
    • 2012-01-11
    • 2013-04-17
    • 2012-10-16
    相关资源
    最近更新 更多