Questions marquées «rust»

Rust est un langage de programmation système sans garbage collector axé sur trois objectifs: la sécurité, la vitesse et la concurrence. Utilisez cette balise pour les questions sur le code écrit en Rust. Utilisez une balise spécifique à une édition pour les questions qui font référence au code qui nécessite une édition particulière, comme [rust-2018]. Utilisez des balises plus spécifiques pour les sous-sujets tels que [rust-cargo] et [rust-macros].

1
Quand une fermeture met-elle en œuvre Fn, FnMut et FnOnce?
Quelles sont les conditions spécifiques d'une fermeture pour implémenter les traits Fn, FnMutet FnOnce? C'est: Quand une fermeture ne met-elle pas en œuvre le FnOncetrait? Quand une fermeture ne met-elle pas en œuvre le FnMuttrait? Quand une fermeture ne met-elle pas en œuvre le Fntrait? Par exemple, la mutation de …
114 rust  closures 


5
Est-il possible d'utiliser des variables globales dans Rust?
Je sais qu'en général, les variables globales doivent être évitées. Néanmoins, je pense que dans un sens pratique, il est parfois souhaitable (dans des situations où la variable fait partie intégrante du programme) de les utiliser. Afin d'apprendre Rust, j'écris actuellement un programme de test de base de données utilisant …

2
Comment utiliser une caisse locale non publiée?
J'ai fait une bibliothèque: cargo new my_lib et je souhaite utiliser cette bibliothèque dans un programme différent: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } que dois-je faire pour que cela fonctionne? Ils ne sont pas dans le même dossier de projet. . ├── my_lib …

5
Diviser un module sur plusieurs fichiers
Je veux avoir un module avec plusieurs structures, chacune dans son propre fichier. En utilisant un Mathmodule comme exemple: Math/ Vector.rs Matrix.rs Complex.rs Je veux que chaque structure soit dans le même module, que j'utiliserais à partir de mon fichier principal, comme ceci: use Math::Vector; fn main() { // ... …
103 module  rust 


1
Comment rechercher et insérer efficacement dans un HashMap?
J'aimerais faire ce qui suit: Recherchez une Vecclé spécifique et stockez-la pour une utilisation ultérieure. S'il n'existe pas, créez un vide Vecpour la clé, mais gardez-le toujours dans la variable. Comment faire cela efficacement? Naturellement, j'ai pensé que je pourrais utiliser match: use std::collections::HashMap; // This code doesn't compile. let …
102 hashmap  rust  lookup 


2
Est-il possible de rendre un type uniquement mobile et non copiable?
Note de l'éditeur : cette question a été posée avant Rust 1.0 et certaines des affirmations de la question ne sont pas nécessairement vraies dans Rust 1.0. Certaines réponses ont été mises à jour pour répondre aux deux versions. J'ai cette structure struct Triplet { one: i32, two: i32, three: …
96 rust 


3
Qu'est-ce que Rust a au lieu d'un garbage collector?
Je comprends que Rust n'a pas de ramasse-miettes et je me demande comment la mémoire est libérée lorsqu'une liaison est hors de portée. Donc, dans cet exemple, je comprends que Rust récupère la mémoire allouée à «a» quand il est hors de portée. { let a = 4 } Le …
93 rust 

4
Comment utiliser une macro dans les fichiers de module?
J'ai deux modules dans des fichiers séparés dans la même caisse, où la caisse a été macro_rulesactivée. Je souhaite utiliser les macros définies dans un module dans un autre module. // macros.rs #[macro_export] // or not? is ineffectual for this, afaik macro_rules! my_macro(...) // something.rs use macros; // use macros::my_macro; …

1
Qu'est-ce qu'un «gros pointeur» dans Rust?
J'ai déjà lu le terme "gros pointeur" dans plusieurs contextes, mais je ne suis pas sûr de ce qu'il signifie exactement et quand il est utilisé dans Rust. Le pointeur semble être deux fois plus grand qu'un pointeur normal, mais je ne comprends pas pourquoi. Cela semble également avoir quelque …
91 pointers  rust 



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.