在Rust上为每个Vector元素添加符号(或组符号)

afdcj2ne  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(93)

我有什么问题?我得到当前的目录与帮助

let dir: String = env::current_dir().unwrap().display().to_string();

字符串
接下来,我需要从这一行中生成Vec<String>,例如,从字符串类型"home/user/project"中得到vec!["home/", "user/", "project"] as String
我尝试了几个选项,但不断有错误的类型和更多,但我的一个选项,其中,在我看来,是最接近

let dir_split: Vec<(there should be a type of String, but it turns out ())> = dir.split('/').map(|s| s.to_string().push('/')).collect();

roqulrg3

roqulrg31#

使用str::split_inclusive而不是str::split,这意味着您不需要手动push,这会导致您的问题。
当你使用map时,你将每个值Map到表达式返回的值。在这种情况下,这将是String::push,也就是返回()

let var: Vec<_> = dir.split_inclusive('/')
    .map(String::from)
    .collect();

字符串

相关问题