Tôi cần phải tìm một chỉ số của một phần tử trong một vector của chuỗi, đây là những gì tôi có cho đến nay:tìm chỉ số của một phần tử trong vector
fn main() {
let test: Vec<String> = vec!["one".to_string(), "two".to_string(), "three".to_string()];
let index: i32 = test.iter().enumerate().find(|&r| r.1.to_string() == "two".to_string()).unwrap().0;
}
nó sản xuất một lỗi
error: mismatched types:
expected `i32`,
found `usize`
(expected i32,
found usize) [E0308]
let index: i32 = test.iter().enumerate().find(|&r| r.1.to_string() == "two".to_string()).unwrap().0;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tôi cho rằng đó là vì enumerate()
trả về một bộ gồm <usize, _>
(sửa tôi nếu tôi sai), nhưng làm cách nào để chuyển đổi usize
thành i32
tại đây? Ngoài ra, nếu có một cách tiếp cận tốt hơn, tôi mở để gợi ý.
FYI, nhỏ nitpick - tuples là '(A, B)', không phải ' '. – mdup