如何在 Rust 中编写 path.join。我尝试了多个例子但无法得到它。
const exeDirectory = path.join(__dirname, '..', 'bin', 'openvpn.exe');
const processFile = path.join(__dirname, '..', '1');
Run Code Online (Sandbox Code Playgroud)
我想将这些 JS 行转换为 Rust。
tra*_*tor 25
使用具有方法的路径.join
Path::new("..").join("bin").join("openvpn.exe");
Run Code Online (Sandbox Code Playgroud)
我可能遗漏了一些东西,但你看过它Path::join并与之PathBuf::push链接吗?
let exe_directory = Path::new(dirname).join("..").join("bin").join("openvpn.exe");
println!("{:?}", exe_directory);
let mut exe_directory = PathBuf::new();
exe_directory.push(dirname);
exe_directory.push("..");
exe_directory.push("bin");
exe_directory.push("openvpn.exe");
println!("{:?}", exe_directory);
Run Code Online (Sandbox Code Playgroud)
另一种选择是将字符串的迭代器收集到PathBuf:
let path: PathBuf = ["..", "bin", "openvpn.exe"].iter().collect();
Run Code Online (Sandbox Code Playgroud)
这相当于创建一个新PathBuf的并调用.push()迭代器中的每个字符串。要将多个新组件添加到现有的PathBuf,您可以使用以下extend()方法:
let mut path = PathBuf::from(dir_name);
path.extend(&["..", "bin", "openvpn.exe"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15397 次 |
| 最近记录: |