如何以独立于平台的方式将“./”添加到路径?
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);
并且结果将自动依赖于平台。
我需要在我的代码中的路径前添加 ./
,我目前正在这样做:
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);
并且结果将自动依赖于平台。