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].

1
Wann implementiert ein Abschluss Fn, FnMut und FnOnce?
Was sind die besonderen Bedingungen für eine Schließung der zu implementieren Fn, FnMutund FnOnceZüge? Das ist: Wann setzt eine Schließung das Merkmal nicht um FnOnce? Wann setzt eine Schließung das Merkmal nicht um FnMut? Wann setzt eine Schließung das Merkmal nicht um Fn? Wenn Sie beispielsweise den Status des Abschlusses …
114 rust  closures 


5
Ist es möglich, globale Variablen in Rust zu verwenden?
Ich weiß, dass globale Variablen generell vermieden werden müssen. Dennoch denke ich im praktischen Sinne, dass es manchmal wünschenswert ist (in Situationen, in denen die Variable ein integraler Bestandteil des Programms ist), sie zu verwenden. Um Rust zu lernen, schreibe ich derzeit ein Datenbanktestprogramm mit sqlite3 und dem Rust / …

2
Wie benutzt man eine lokale unveröffentlichte Kiste?
Ich habe eine Bibliothek erstellt: cargo new my_lib und ich möchte diese Bibliothek in einem anderen Programm verwenden: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } Was muss ich tun, damit dies funktioniert? Sie befinden sich nicht im selben Projektordner. . ├── my_lib └── my_program …

1
Wie kann ich effizient nach einer HashMap suchen und diese einfügen?
Ich möchte Folgendes tun: Suchen Sie Vecnach einem bestimmten Schlüssel und speichern Sie ihn zur späteren Verwendung. Wenn es nicht vorhanden ist, erstellen Sie ein Leerzeichen Vecfür den Schlüssel, behalten Sie es jedoch in der Variablen bei. Wie geht das effizient? Natürlich dachte ich, ich könnte verwenden match: use std::collections::HashMap; …
102 hashmap  rust  lookup 



5
Teilen Sie ein Modul auf mehrere Dateien auf
Ich möchte ein Modul mit mehreren Strukturen haben, jede in einer eigenen Datei. Am Beispiel eines MathModuls: Math/ Vector.rs Matrix.rs Complex.rs Ich möchte, dass sich jede Struktur in demselben Modul befindet, das ich aus meiner Hauptdatei verwenden würde, wie folgt: use Math::Vector; fn main() { // ... } Das Modulsystem …
101 module  rust 

2
Ist es möglich, einen Typ nur beweglich und nicht kopierbar zu machen?
Anmerkung des Herausgebers : Diese Frage wurde vor Rust 1.0 gestellt, und einige der Aussagen in der Frage sind in Rust 1.0 nicht unbedingt wahr. Einige Antworten wurden aktualisiert, um beide Versionen zu adressieren. Ich habe diese Struktur struct Triplet { one: i32, two: i32, three: i32, } Wenn ich …
96 rust 

3
Wie kann ich mit Cargo mehrere Binärdateien erstellen?
Ich möchte ein Projekt mit a daemonund clienta erstellen und eine Verbindung über einen Unix-Socket herstellen. A clientund a daemonerfordern zwei Binärdateien. Wie kann ich also Cargozwei Ziele aus zwei verschiedenen Quellen erstellen? Um ein bisschen Fantasie hinzuzufügen, hätte ich gerne eine libraryfür den Hauptteil der daemonund nur eine Binärdatei, …
95 rust  rust-cargo 




3
Was hat Rust anstelle eines Müllsammlers?
Ich verstehe, dass Rust keinen Garbage Collector hat und frage mich, wie Speicher freigegeben wird, wenn eine Bindung außerhalb des Gültigkeitsbereichs liegt. In diesem Beispiel verstehe ich, dass Rust den 'a' zugewiesenen Speicher zurückfordert, wenn er außerhalb des Gültigkeitsbereichs liegt. { let a = 4 } Das Problem, das ich …
92 rust 

4
Wie verwende ich ein Makro für alle Moduldateien?
Ich habe zwei Module in separaten Dateien in derselben Kiste, in der die Kiste macro_rulesaktiviert wurde. Ich möchte die in einem Modul definierten Makros in einem anderen Modul verwenden. // macros.rs #[macro_export] // or not? is ineffectual for this, afaik macro_rules! my_macro(...) // something.rs use macros; // use macros::my_macro; <-- …

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.