Traduire une ligne de code

Résolu
astrolabbcracker Messages postés 106 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 11 juin 2012 - 9 sept. 2011 à 10:13
astrolabbcracker Messages postés 106 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 11 juin 2012 - 9 sept. 2011 à 20:31
Bonjour et merci de lire ce message
j'ai besoin de votre aide pour me traduire une ligne de code que je comprend pas.

Lors du chargement d'un xml, on récupère une variable avec ça :

Statics.itemAreaWidth (settingsXML.settings[0].itemArea.@width undefined) ? 400 : settingsXML.settings[0].itemArea.@width;

settingsXML.settings[0].itemArea.@width je comprend bien mais je comprend pas l'expression :

variable ( donnée_du_XML undefined ) ? 400 : donnée_du_XML;
c'est pour remplacer un if, un or ???

Merci pour votre aide

3 réponses

Utilisateur anonyme
9 sept. 2011 à 16:53
(settingsXML.settings[0].itemArea.@width == undefined) ? 400 : settingsXML.settings[0].itemArea.@width;



if(settingsXML.settings[0].itemArea.@width == undefined)
{
variable = 400;
}
else
{
variable = settingsXML.settings[0].itemArea.@width;
}

voili voilou.

Romain
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
9 sept. 2011 à 18:40
Bonjour, pour compléter l'info : il s'agit d'une condition ternaire.

variable = (condition) ? si vrai : sinon;


Celà remplace effectivement un if et mise à part un principe d'écriture, ça n'ajoute rien à une ligne de code d'un "if" classique.

Petit bonus :

Lors de la présence d'une seule ligne dans une instruction quelle qu'elle soit, il est possible d'omettre les accolades :

if (condition)
ligne à executer;


Peg'
1
astrolabbcracker Messages postés 106 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 11 juin 2012
9 sept. 2011 à 20:31
Merci à vous deux pour ces éclaircissements.
Ca fait quand même classe une condition ternaire sans if ni accolades !

Merci et à bientôt
0
Rejoignez-nous