Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2008, 10h12   #1
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
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 :
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 :
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 ?
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 11h45   #2
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
Un petit up !

Suis je la seule à avoir ce comportement en flash ?
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 14h42   #3
Membre habitué
 
Inscription : novembre 2004
Messages : 197
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 197
Points : 120
Points : 120
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 :
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 :
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 :
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
__________________
Si vous avez votre réponse n'oubliez pas !
ViveLesQuads est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 17h27   #4
Responsable Business Intelligence
 
Avatar de kalyparker
 
Femme
Consultant en Business Intelligence
Inscription : janvier 2007
Messages : 1 192
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : janvier 2007
Messages : 1 192
Points : 2 564
Points : 2 564
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]
kalyparker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h31.


 
 
 
 
Partenaires

Hébergement Web