Ich habe eine feste Größe Array in Rust [String; 2]
, und ich möchte es in eine (String, String)
verwandeln. Kann ich das tun, ohne die Werte zu kopieren?Werte von Array zu Tupel bewegen
Das Stück Code, das ich besonders bin auf ist die folgende:
let (basis, names_0, names_1) = if let Some(names) = self.arg_name {
(ComparisonBasis::Name, names[0], names[1])
} else {
(ComparisonBasis::File, self.arg_file[0], self.arg_file[1])
};
Typen:
self.arg_name: Option<[String; 2]>
self.arg_file: Vec<String>
Im Moment bin ich immer Fehler
cannot move out of type `[std::string::String; 2]`, a non-copy fixed-size array [E0508]
und
cannot move out of indexed content [E0507]
für die beiden Arme des if
Am Ende, ich denke, es ist ein wenig übereifrig von mir, zu versuchen, die Aufrufe zu klonen zu optimieren. Das Stück Code in der Frage wird genau einmal pro Programmlauf aufgerufen und es sind nur zwei (wahrscheinlich kleine) Strings. – Apanatshka