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

ActionScript 1 & ActionScript 2 Discussion :

pb d'egalité + String


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Par défaut pb d'egalité + String
    Bonjour à tous,

    J'ai remarqué un truc bizarre sur flash 8 et je voudrais comprendre pourquoi ça me fait ça
    Lorsque l'on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var une_chaine:String = new String("Bonjour");
    var une_autre:String = new String("Bonjour");
    trace(une_chaine == une_autre);
    la trace me sort un false ??

    Alors que si je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var une_chaine:String = "Bonjour";
    var une_autre:String = "Bonjour";
    trace(une_chaine == une_autre);
    là, j'ai bien true en sortie.

    Dans les 2 cas, l'operateur eq me renvoi true.
    Il est indiqué dans l'aide qu'il ne faut plus utiliser eq dans les nouvelles versions, mais là j'avoue que je ne comprends pas le comportement du ==
    Est ce que quelqu'un aurai une explication ?
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  2. #2
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Par défaut
    Un petit up !

    Suis je la seule à avoir ce comportement en flash ?
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Par défaut
    Salut,
    T'inquiète pas tu n'es pas la seule à avoir ce résultat. En fait je pense vraiment que l'opérateur == fonctionne ainsi.
    Si on écrit A == B:
    Si A et B ne sont pas exactement du même type, A et B sont converti en chaine et la comparaison intervient après. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var num1:Number = 32;
    var num2:String = new String("32");
    trace(num1 == num2); // ->> true
    Mais si les type sont exactement les meme alors Flash compare les variable comme si c'étaient des pointeur. Le test devient donc : Est ce que A et B pointent sur le même objet?
    Et dans l'exemple suivant la réponse est non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var une_chaine:String = new String("Bonjour");
    var une_autre:String = new String("Bonjour");
    trace(une_chaine == une_autre); // False
    Donc pour ne pas avor de problème on peut utiliser valueOf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var une_chaine:String = new String("Bonjour");
    var une_autre:String = new String("Bonjour");
    trace(une_chaine.valueOf() == une_autre); //True
    On a bien true car on compare ici une occurence d'un objet (une_chaine) à une référence à la valeur primitive (de une_autre), ce qui force la conversion.

    Si j'ai dit une bétise n'hésitez pas à me reprendre

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Par défaut
    Merci de ta réponse ViveLesQuads.
    Ta réponse me semble bonne.
    Je vais fouiller un peu de ce côté là et je reviendrais vous dire si c'est effectivement ça (si j'ai la chance de trouver la réponse )

    [edit] Après quelques recherches, il semble effectivement que ce soit comme ça que ça marche. Je n'ai pas trouvé d'autre explication.
    Donc sujet [résolu]
    [/edit]
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

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

Discussions similaires

  1. Egalité de contenu d'un String parmi plusieurs valeurs
    Par LeBabouin dans le forum Débuter avec Java
    Réponses: 18
    Dernier message: 17/09/2012, 17h53
  2. Egalite entre 2 string
    Par Paniez dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 05/07/2011, 14h12
  3. Test Egalité entre 2 string
    Par Frog74 dans le forum VBA Access
    Réponses: 6
    Dernier message: 19/05/2008, 09h27
  4. Test Egalite string (super basique)
    Par ced600 dans le forum VBScript
    Réponses: 1
    Dernier message: 07/12/2007, 15h59
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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