rust - 如何以独立于平台的方式将 "./"添加到路径?

标签 rust path cross-platform platform platform-independent

我需要将 ./ 添加到我的代码中的路径,我目前正在这样做:

let path = Path::new("foo.sol");
let path_with_dot = Path::new("./").join(path);

但是,我想在路径前面添加 ./ 的同时保持跨平台的兼容性。我该怎么做?

最佳答案

路径分隔符的平台相关 const 存储在 std::path::MAIN_SEPARATOR .您可以使用它来创建平台相关路径。然而,默认情况下 Path.join 方法已经使用了这个 const 所以不用写:

let path = Path::new("foo.sol");
let path_with_dot = Path::new("./").join(path);

你只需要写:

let path = Path::new("foo.sol");
let path_with_dot = Path::new(".").join(path);

结果将自动依赖于平台。

关于rust - 如何以独立于平台的方式将 "./"添加到路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65441686/

相关文章:

path - 在 Elisp 中如何测试路径是否是绝对路径?

更正 C 中自定义整数类型的格式说明符以确保可移植性

c++ - 是否有像包含目录别名这样的概念?

vector - 如何创建 HashMap 的向量并从 main 返回?

java - 使用文件集合,获取与特定文件夹相关的 getPath()

path - 什么是连接任意数量的组件以在 Rust 中构建路径的宏?

java - 从类路径加载资源时出现问题

html - 对于 html 到 pdf 的转换,在 Windows 上是否有任何可行的 wkhtmltopdf 替代品?

closures - 在 HashMap 中存储带有引用 arg 的未装箱闭包

json - 难以在关联类型的实例上进行模式匹配