내가 뭘하려고 같은 벡터에 밀어 : 나는 last()
를 호출 할 때, 그것은 반환을 이해벡터의 마지막 요소를 확인하고
enum Test {
Value1,
Value2,
Value3
}
fn main() {
let mut test_vec: Vec<Test> = Vec::new();
test_vec.push(Test::Value2);
if let Some(last) = test_vec.last() {
test_vec.push(*last);
}
//Wanted output: vector with [Test::Value2, Test::Value2]
}
을 Option<&Test>
그래서이 test_vec
을 빌려 if-let 블록의 끝까지.
if let Some(last) = test_vec.last().map(|v| v.clone()) {
test_vec.push(*last);
}
//and
let last = test_vec.last().unwrap().clone();
test_vec.push(*last);