Ich spiele mit Rust, und ich versuche, das erste Befehlszeilenargument mit diesem Code zuzugreifen:Was bedeutet "aus indexiertem Inhalt nicht entfernen"?
use std::env;
fn main() {
let args: Vec<_> = env::args().collect();
let dir = args[1];
}
Und ich bekomme diese Fehlermeldung:
error[E0507]: cannot move out of indexed content
--> src/main.rs:5:15
|
5 | let dir = args[1];
| --- ^^^^^^^ cannot move out of indexed content
| |
| hint: to prevent move, use `ref dir` or `ref mut dir`
Wenn ich es let ref dir
ändern , kompiliert es, aber ich weiß nicht, was los ist. Kann jemand erklären, was "indexierter Inhalt" bedeutet?
Was passiert, wenn ich besitze das Array, und will das Eigentum an einem einzigen Wert im Array nehmen (und verbrauchen das Eigentum an den arr ay)? – Thayne
Wenn es ein 'Vec' ist, können Sie die Methode' remove' verwenden, andernfalls können Sie 'mem :: replace' den Wert mit einem Dummy-Wert ersetzen. –