Ich habe eine let mut stack: Vec<usize> = vec![5, 7, 1]
von unterschiedlicher Länge. Irgendwann möchte ich das letzte Element des stack
um eins erhöhen. Ich habe versucht, stack.last_mut().unwrap() += 1
(ich weiß, das stack
nicht leer sein), aber der Compiler beschwertInkrement letztes Element von Vec <usize>
error: binary assignment operation `+=` cannot be applied to type `&mut _` [--explain E0368]
--> src/main.rs:3:5
3 |> stack.last_mut().unwrap() += 1;
|> ^^^^^^^^^^^^^^^^^^^^^^^^^
error: invalid left-hand side expression [--explain E0067]
--> src/main.rs:3:5
3 |> stack.last_mut().unwrap() += 1;
|> ^^^^^^^^^^^^^^^^^^^^^^^^^
Natürlich kann ich zum ersten Mal das letzte Element aus dem Stapel pop, erhöhen Sie es und fügen Sie es wieder, aber ist es ein einfacher Weg?
Auch Bedürfnisse stapeln wandelbar sein. (Ihr Code macht das offensichtlich; ich weise nur auf die Änderung der Frage hin) – Kevin