如何切片到 Vec 中的特定元素?
How to slice to a particular element in a Vec?
将 Vec
切片到特定元素第一次出现的最佳方法是什么?
一个简单的方法来演示我想做什么:
fn main() {
let v = vec![1, 2, 3, 4, 5, 6];
let to_num = 5;
let mut idx = 0;
for x in &v {
if x != &to_num {
idx += 1
} else {
break;
}
}
let slice = &v[..idx];
println!("{:?}", slice); //prints [1, 2, 3, 4]
}
您可以使用 <[T]>::split()
:
let slice = v.split(|x| *x == to_num).next().unwrap();
将 Vec
切片到特定元素第一次出现的最佳方法是什么?
一个简单的方法来演示我想做什么:
fn main() {
let v = vec![1, 2, 3, 4, 5, 6];
let to_num = 5;
let mut idx = 0;
for x in &v {
if x != &to_num {
idx += 1
} else {
break;
}
}
let slice = &v[..idx];
println!("{:?}", slice); //prints [1, 2, 3, 4]
}
您可以使用 <[T]>::split()
:
let slice = v.split(|x| *x == to_num).next().unwrap();