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

Langage Perl Discussion :

teste une variable qui es différente de tous les éléments d'un tableau


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut teste une variable qui es différente de tous les éléments d'un tableau
    Salut,

    petite question,

    j'ai un tableau plein de valeurs,

    comment en une seule instruction, faire

    $var <> @tab

    c'est a dire de vérifier si la variable $var n'est pas un élément du contenu du tableau @tab

    du même style du hash

    if ( not defined $HASH{$var} ) { inst ...}

    et merci d'avance

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il y a plusieurs solutions, la plus simple, qui marche à tous les coups est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( grep { $var eq $_ } @tab ) { # or { $var == $_ } is $var is numeric
      # is in array
    }
    Un peu meilleur (et List::Utils est dans le CORE) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    use List::Utils qw/first/;
     
    if( defined( first { $var eq $_ } @tab ) ) { # or { $var == $_ } is $var is numeric
      # is in array
    }
    Ensuite il faut se demander si cette recherche d'une variable dans le tableau est une opération fréquente, si tel est le cas, il peut-être préférable d'employer un hash plutôt qu'un tableau, ou solution alternative, de trier le tableau et de faire des recherches dichotomiques.

    --
    Jedaï

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/02/2008, 08h26
  2. Récuération d'une variable qui contient une phrase
    Par lama85 dans le forum Langage
    Réponses: 1
    Dernier message: 23/08/2006, 13h52
  3. Réponses: 7
    Dernier message: 16/06/2006, 16h31
  4. Contenu d'une variable qui disparait :/
    Par Aleksis dans le forum C++
    Réponses: 10
    Dernier message: 02/06/2006, 15h50
  5. Réponses: 8
    Dernier message: 11/08/2005, 09h32

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