IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

Question de débutant : affichage d'une donnée venant du type Vect


Sujet :

Rust

  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut Question de débutant : affichage d'une donnée venant du type Vect
    Bonjour

    Expérimenté en C, mais débutant en Rust, je teste ce programme


    Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    fn main() {
        let mut v = vec!(1, 2);
        let mut var;
     
        var = v.pop();
        println!("on a {}", var);
    }

    J'ai l'erreur :

    error[E0277]: `Option<{integer}>` doesn't implement `std::fmt::Display`
     --> test.rs:6:25
      |
    6 |     println!("on a {}", var);
      |                         ^^^ `Option<{integer}>` cannot be formatted with the default formatter
      |
      = help: the trait `std::fmt::Display` is not implemented for `Option<{integer}>`
      = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
      = note: required by `std::fmt::Display::fmt`
      = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: aborting due to previous error
    
    For more information about this error, try `rustc --explain E0277`.
    J'ai compris qu'un objet pouvait avoir une donnée en optionnel (Option).
    Avez-vous de la doc ou savez-vous comment afficher le contenu d'un objet de type Vec ?

    Bonne journée
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Tu as la version "sale" (disons qui se base sur std::fmt::Debug pour formater ton résultat):

    Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fn main() {
        let mut v = vec!(1, 2);
        let mut var = v.pop();
     
        println!("on a {:?}", var);
    }

    et une version un peu plus "propre" (qui récupère la valeur entière dans ton résultat Option via la branche Some et sait ainsi l'afficher en format par défaut):

    Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fn main() {
        let mut v = vec!(1, 2);
     
        match v.pop() {
            None=>panic!(),
            Some(var)=>println!("on a {}", var),
        }      
    }
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Affichage d'une donnée
    Par kayenne77 dans le forum Cobol
    Réponses: 5
    Dernier message: 02/04/2009, 01h13
  2. Réponses: 2
    Dernier message: 20/07/2006, 19h40
  3. Réponses: 4
    Dernier message: 28/02/2006, 14h25
  4. Réponses: 1
    Dernier message: 10/02/2006, 12h10
  5. [Débutant] Affichage d'une grille
    Par Mathieu.J dans le forum OpenGL
    Réponses: 25
    Dernier message: 13/06/2004, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo