这是 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 许可证。