预期 &str 发现生锈的炭?
Expected &str found char with rust?
我遇到了这个错误
expected &str
, found char
对于此代码
// Expected output
// -------
// h exists
// c exists
fn main() {
let list = ["c","h","p","u"];
let s = "Hot and Cold".to_string();
let mut v: Vec<String> = Vec::new();
for i in s.split(" ") {
let c = i.chars().nth(0).unwrap().to_lowercase().nth(0).unwrap();
println!("{}", c);
if list.contains(&c) {
println!("{} exists", c);
}
}
}
我该如何解决这个问题?
将 list
从 &str
的数组更改为 char
的数组:
let list = ['c', 'h', 'p', 'u'];
双引号 ""
创建字符串文字,而单引号 ''
创建字符文字。请参阅 Rust 参考中的 Literal Expressions。
我假设您希望 list
成为 char
的列表而不是 str
的列表,在这种情况下尝试更改
let list = ["c","h","p","u"];
到
let list = ['c','h','p','u'];
它应该可以工作
我遇到了这个错误
expected
&str
, foundchar
对于此代码
// Expected output
// -------
// h exists
// c exists
fn main() {
let list = ["c","h","p","u"];
let s = "Hot and Cold".to_string();
let mut v: Vec<String> = Vec::new();
for i in s.split(" ") {
let c = i.chars().nth(0).unwrap().to_lowercase().nth(0).unwrap();
println!("{}", c);
if list.contains(&c) {
println!("{} exists", c);
}
}
}
我该如何解决这个问题?
将 list
从 &str
的数组更改为 char
的数组:
let list = ['c', 'h', 'p', 'u'];
双引号 ""
创建字符串文字,而单引号 ''
创建字符文字。请参阅 Rust 参考中的 Literal Expressions。
我假设您希望 list
成为 char
的列表而不是 str
的列表,在这种情况下尝试更改
let list = ["c","h","p","u"];
到
let list = ['c','h','p','u'];
它应该可以工作