SwiftyRelativePath

这是 Swift 中等效于 Ruby 的 Pathname.relative_path_from() 或 Java 的 Path.relativize() 的实现。

输入和输出示例

| Long Path                 | Relative to Path | Return Value      |
|---------------------------|------------------|-------------------|
| /usr/X11/agent/47.gz      | /usr/X11         | agent/47.gz       |
| /usr/share/man/meltdown.1 | /usr/share/cups  | ../man/meltdown.1 |
| /var/logs/x/y/z/log.txt   | /var/logs        | x/y/z/log.txt     |

用法

import SwiftyRelativePath

let url0 = URL(fileURLWithPath: "/computer/qubit/17")
let url1 = URL(fileURLWithPath: "/computer/lab")
let path = url0.relativePath(from: url1)
// path is "../qubit/17"

致谢

许可

MIT 许可证。