Rust:没有为结构 `std::string::String` 找到名为 `join` 的方法
Rust: no method named `join` found for struct `std::string::String`
嗯,为什么这不起作用?
let numcities = 40;
let mut file = std::fs::File::create(args[3].clone()).unwrap();
file.write((0..numcities).map(|i| i.to_string()).collect::<String>().join("->")).unwrap();
编译错误:
error[E0599]: no method named `join` found for struct `std::string::String` in the current scope
--> main.rs:42:72
|
42 | file.write((0..numcities).map(|i| i.to_string()).collect::<String>().join("->")).unwrap();
| ^^^^ method not found in `std::string::String`
您需要收进中介Vec<String>
:
let data = ["A", "B", "C"];
let result = data.iter().map(|s| s.to_string()).collect::<Vec<String>>().join("->"));
在nightly 1.53中,你可以使用intersperse
例如:
#![feature(iter_intersperse)]
fn main() {
let data = vec!["A", "B", "C"];
let result = data
.iter()
.map(|x| x.to_string())
.intersperse("->".to_string())
.collect::<String>();
println!("{}", result);
}
嗯,为什么这不起作用?
let numcities = 40;
let mut file = std::fs::File::create(args[3].clone()).unwrap();
file.write((0..numcities).map(|i| i.to_string()).collect::<String>().join("->")).unwrap();
编译错误:
error[E0599]: no method named `join` found for struct `std::string::String` in the current scope
--> main.rs:42:72
|
42 | file.write((0..numcities).map(|i| i.to_string()).collect::<String>().join("->")).unwrap();
| ^^^^ method not found in `std::string::String`
您需要收进中介Vec<String>
:
let data = ["A", "B", "C"];
let result = data.iter().map(|s| s.to_string()).collect::<Vec<String>>().join("->"));
在nightly 1.53中,你可以使用intersperse
例如:
#![feature(iter_intersperse)]
fn main() {
let data = vec!["A", "B", "C"];
let result = data
.iter()
.map(|x| x.to_string())
.intersperse("->".to_string())
.collect::<String>();
println!("{}", result);
}