Je suppose que vous faites quelque chose comme ça: extern crate uuid; use uuid::Uuid; use std::fmt::Formatter; use std::fmt::Debug; #[derive(Debug)] struct BlahLF { id: Uuid, } impl BlahLF { fn new() -> BlahLF { return BlahLF { id: Uuid::new_v4() }; } } impl Debug for BlahLF { fn fmt(&self, &mut f: Formatter) -> Result { write!(f.buf, […]
Comment puis-je faire une requête HTTP depuis Rust? Je n’arrive pas à trouver quoi que ce soit dans la bibliothèque principale. Je n’ai pas besoin d’parsingr la sortie, il suffit de faire une demande et de vérifier le code de réponse HTTP. Des points bonus si quelqu’un peut me montrer comment encoder les parameters de […]
Considérez le code suivant: trait Animal { fn make_sound(&self) -> Ssortingng; } struct Cat; impl Animal for Cat { fn make_sound(&self) -> Ssortingng { “meow”.to_ssortingng() } } struct Dog; impl Animal for Dog { fn make_sound(&self) -> Ssortingng { “woof”.to_ssortingng() } } fn main () { let dog: Dog = Dog; let cat: Cat = […]
J’essaie d’écrire un programme qui implique le filtrage et le pliage des tableaux. J’ai utilisé The Rust Programming Language , première édition comme référence, mais je ne comprends pas ce qui se passe lorsque je forme des iterators sur des tableaux. Voici un exemple: fn comstacks() { let range = (1..6); let range_iter = range.into_iter(); […]
J’essaie des choses aléatoires pour approfondir ma compréhension de Rust. Je viens de rencontrer l’erreur suivante avec ce code : struct Person { mother: Option, father: Option, partner: Option, } pub fn main() { let susan = Person { mother: None, father: None, partner: None, }; let john = Person { mother: None, father: None, […]
Considérez le code suivant: trait Trait {} fn foo(_b: Box<Trait>) {} fn bar(_b: Box<for Trait>) {} Les deux fonctions foo et bar semblent accepter un Box<Trait> , bien que foo fasse de manière plus concise que bar . Quelle est la différence entre eux? De plus, dans quelles situations aurais-je besoin for syntaxe for comme […]
J’ai fait une bibliothèque: cargo new my_lib et je veux 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 └── my_program J’espère que cela […]
Comment puis-je muter le champ struct de la méthode? Je veux faire ça struct Point { x: int, y: int, } impl Point { fn up(&self) { self.y += 1; } } fn main() { let p = Point { x: 0, y: 0 }; p.up(); } Mais cette erreur de compilation de jet de […]
Parfois, je me suis retrouvé à vouloir écrire des fonctions pouvant être appelées de deux manières différentes: // With a ssortingng literal: let lines = read_file_lines(“data.txt”); // With a ssortingng pointer: let file_name = ~”data.txt”; let lines = read_file_lines(file_name); Ma première supposition était d’utiliser un pointeur emprunté ( &str ) pour le type de paramètre, […]
J’aimerais mettre à jour un paquet que j’ai utilisé pour installer des paquets, comme rustfmt ou racer. Je ne peux pas trouver un moyen de mettre à jour un paquet installé sans le supprimer (via cargo uninstall ), puis exécuter à nouveau la commande d’installation. Y a-t-il une commande de mise à jour?