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

How to prepend "./" to a path in a platform independent way?

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

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);

并且结果将自动依赖于平台。