Als «rust» getaggte Fragen

Rust ist eine Systemprogrammiersprache ohne Garbage Collector, die sich auf drei Ziele konzentriert: Sicherheit, Geschwindigkeit und Parallelität. Verwenden Sie dieses Tag für Fragen zu in Rust geschriebenem Code. Verwenden Sie ein editionsspezifisches Tag für Fragen, die sich auf Code beziehen, für den eine bestimmte Edition erforderlich ist, z. B. [rust-2018]. Verwenden Sie spezifischere Tags für Unterthemen wie [Rostfracht] und [Rostmakros].

11
Wie greife ich auf Befehlszeilenparameter zu?
Das Rust-Tutorial erklärt nicht, wie Parameter von der Befehlszeile übernommen werden. fn main()wird in allen Beispielen nur mit einer leeren Parameterliste angezeigt. Wie kann über Befehlszeilenparameter korrekt zugegriffen werden main?
153 command-line  rust 

5
Warum sind die ausführbaren Dateien von Rust so groß?
Nachdem ich Rust gefunden und die ersten beiden Kapitel der Dokumentation gelesen habe, finde ich den Ansatz und die Art und Weise, wie sie die Sprache definiert haben, besonders interessant. Also beschloss ich, meine Finger nass zu machen und begann mit Hello World ... Ich habe das übrigens unter Windows …
153 rust  rust-cargo 



3
Wie erstelle ich einen globalen, veränderlichen Singleton?
Was ist der beste Weg, um eine Struktur mit nur einer Instanziierung im System zu erstellen und zu verwenden? Ja, dies ist notwendig, es ist das OpenGL-Subsystem, und das Erstellen mehrerer Kopien davon und das Weitergeben überall würde Verwirrung stiften, anstatt es zu lindern. Der Singleton muss so effizient wie …
138 rust 

1
Wie kann man de facto Dateien in Rust 1.x lesen und schreiben?
Da Rust vergleichsweise neu ist, habe ich viel zu viele Möglichkeiten zum Lesen und Schreiben von Dateien gesehen. Viele sind extrem chaotische Schnipsel, die sich jemand für sein Blog ausgedacht hat, und 99% der Beispiele, die ich gefunden habe (sogar bei Stack Overflow), stammen von instabilen Builds, die nicht mehr …
136 file-io  rust 


4
Wie funktioniert Rusts 128-Bit-Ganzzahl "i128" auf einem 64-Bit-System?
Rust hat 128-Bit-Ganzzahlen, diese werden mit dem Datentyp i128(und u128für vorzeichenlose Ints) bezeichnet: let a: i128 = 170141183460469231731687303715884105727; Wie macht Rust diese? i128 Werte auf einem 64-Bit-System funktionieren? zB wie rechnet man damit? Da der Wert meines Wissens nicht in ein Register einer x86-64-CPU passen kann, verwendet der Compiler irgendwie …

3
Wie füge ich ein Modul aus einer anderen Datei aus demselben Projekt hinzu?
Durch Befolgen dieser Anleitung habe ich ein Frachtprojekt erstellt. src/main.rs fn main() { hello::print_hello(); } mod hello { pub fn print_hello() { println!("Hello, world!"); } } was ich benutze mit cargo build && cargo run und es kompiliert ohne Fehler. Jetzt versuche ich, das Hauptmodul in zwei Teile zu teilen, …
128 rust 

1
Kann nicht aus ausgeliehenen Inhalten herausgehen / kann nicht hinter einer gemeinsamen Referenz herausgehen
Ich verstehe den Fehler nicht cannot move out of borrowed content. Ich habe es oft erhalten und immer gelöst, aber ich habe nie verstanden warum. Beispielsweise: for line in self.xslg_file.iter() { self.buffer.clear(); for current_char in line.into_bytes().iter() { self.buffer.push(*current_char as char); } println!("{}", line); } erzeugt den Fehler: error[E0507]: cannot move …


2
Warum wird davon abgeraten, einen Verweis auf einen String (& String), Vec (& Vec) oder Box (& Box) als Funktionsargument zu akzeptieren?
Ich habe einen Rust-Code geschrieben, der &Stringein Argument verwendet: fn awesome_greeting(name: &String) { println!("Wow, you are awesome, {}!", name); } Ich habe auch Code geschrieben, der einen Verweis auf ein Vecoder enthält Box: fn total_price(prices: &Vec<i32>) -> i32 { prices.iter().sum() } fn is_even(value: &Box<i32>) -> bool { **value % 2 …

3
Was ist das Äquivalent des Join-Operators über einen Vektor von Strings?
Ich konnte das Rust-Äquivalent für den Operator "join" über einen Vektor von Strings nicht finden. Ich habe eine Vec<String>und möchte mich ihnen als Single anschließen String: let string_list = vec!["Foo".to_string(),"Bar".to_string()]; let joined = something::join(string_list,"-"); assert_eq!("Foo-Bar", joined); Verbunden: Was ist eine idiomatische Methode, um einen durch Leerzeichen in Rust getrennten Iterator …
119 string  rust 

2
Was macht 'lass x = x' in Rust?
Ich habe diesen Code in freier Wildbahn gesehen : fields.sort_by_key(|&(_, ref field)| field.tags().into_iter().min().unwrap()); let fields = fields; Was macht die let fields = fields;Leitung? Warum ist es dort?
117 rust 

1
Was ist der richtige Weg, um einen Iterator (oder ein anderes Merkmal) zurückzugeben?
Der folgende Rust-Code wird ohne Probleme kompiliert und ausgeführt. fn main() { let text = "abc"; println!("{}", text.split(' ').take(2).count()); } Danach habe ich so etwas ausprobiert ... aber es wurde nicht kompiliert fn main() { let text = "word1 word2 word3"; println!("{}", to_words(text).take(2).count()); } fn to_words(text: &str) -> &Iterator<Item = …
114 rust 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.