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 :

Enumération de valeurs constantes


Sujet :

Rust

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Paysan
    Inscrit en
    Juin 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 45
    Par défaut Enumération de valeurs constantes
    Bonjour,

    Débutant sur Rust, j'avance bien sur ce langage grace au "Book", ... qui ne me donne pas la solution dans le chapitre sur les "Enum";
    mes recherches sur le web (StackOverflow, ...) ne m'ont pas conduit à un résultat ...
    Le code ci-dessous, incorrect, donne une idée de ce que je veux faire (trop de culture C, peut-être!)
    L'erreur obtenue est variable selon la tentative; celle en commentaire expected isize, found tuple est obtenue avec la première ligne ...

    Edition/Modification : Autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [E0308]: mismatched types
      --> src/lib.rs:68:17
       |
    68 |     Asteracees= Color(0,0,0), // beige
       |                 ^^^^^^^^^^^^ expected isize, found struct `Color`
       |
       = note: expected type `isize`
                  found type `Color`
    Le code:
    Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // enum couleurs selon natures
     
    struct Color(i32, i32, i32);
     
    enum kCouleurs {
        Cereales(i32, i32, i32)= (0,0,0), // jaune clair
        PerEnv(i32, i32, i32)= (0,0,0), // brun
        Petits_fruits(i32, i32, i32)= Color(0,0,0), // rouge
        Aromatiques(i32, i32, i32)= Color(0,0,0), // violet
        Alliacees= Color(0,0,0), // jaune or
        Solanacees= Color(0,0,0), // rose
        Fabacees= Color(0,0,0), // vert clair
        Cucurbitacees= Color(0,0,0), // orange
        Brassicacees= Color(0,0,0), // cyan
        Apiacees= Color(0,0,0), // bleu
        Asteracees= Color(0,0,0), // beige
    } // expected isize, found tuple

  2. #2
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 513
    Par défaut
    Bonjour,

    Est-ce que le code suivant correspond à ce que tu essaies de faire ?
    Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #[derive(Debug)]
    struct Color(i32, i32, i32);
     
    const RED: Color = Color(255, 0, 0);
    const CYAN: Color = Color(0, 255, 255);
    const BLUE: Color = Color(0, 0, 255);
     
    enum Nature {
        PetitsFruits,
        Brassicacees,
        Apiacees,
    }
     
    fn get_color_from_nature(nature: Nature) -> Color {
        match nature {
            Nature::PetitsFruits => RED,
            Nature::Brassicacees => CYAN,
            Nature::Apiacees => BLUE,
        }
    }
     
    fn main() {
        println!("{:?}", get_color_from_nature(Nature::PetitsFruits));
        println!("{:?}", get_color_from_nature(Nature::Brassicacees));
        println!("{:?}", get_color_from_nature(Nature::Apiacees));
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Paysan
    Inscrit en
    Juin 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 45
    Par défaut
    Nickel Pyramidev !!
    J'étais entre temps sur cette piste, maintenant convaincu qu'on ne pouvait pas mettre les constantes dans l'Enum ...
    C'est exactement ça; tu as compris mon but et codé à travers un match ...
    Je coche résolu

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

Discussions similaires

  1. [Vxi3] [MDX] Dimension qui retourne une valeur constante
    Par jhamard dans le forum Designer
    Réponses: 5
    Dernier message: 19/08/2009, 10h17
  2. [EJBQL] Requête avec une valeur constante dans les champs résultat
    Par adamo901 dans le forum Java EE
    Réponses: 1
    Dernier message: 13/04/2009, 00h32
  3. Requête retournant des valeurs constantes prédéfinies
    Par hackrobat dans le forum Requêtes
    Réponses: 4
    Dernier message: 28/06/2006, 18h01
  4. creer champ avec valeur constante dans resultat de requete
    Par freejeje dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/05/2005, 10h52

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