文档提供了以下联接路径的示例:
use std::path::PathBuf;
let path: PathBuf = [r"C:\", "windows", "system32.dll"].iter().collect();
当所有组件都是字符串时,这是有效的.但是,我正在try 编写以下函数:
use std::path::PathBuf;
fn my_path<P: AsRef<Path>>(root: P, dir1: &str, dir2: &str, dir3: &str) -> PathBuf {
[root, dir1, dir2, dir3].iter().collect()
}
上述方法显然行不通.我知道我可以做一系列嵌套连接,但那是,…,更难看.
有没有办法在数组中连接不同的类似路径的组件?