| optimisation des conditions, boucles, opérateurs ternaires? | |
|
|
Auteur | Message |
---|
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: optimisation des conditions, boucles, opérateurs ternaires? Mer 20 Jan 2010 - 20:42 | |
| quand on fait if( condition ) ___faire ceci else ___faire cela si c'est faux, est-ce que "faire cela" est lu? :/ est-ce que l'interpréteur y passe quelques instants? et de même si je fais: if ( condition1 && condition2 ) ___ instruction est-ce que en gml si c1 est faux il va quand même vérifier c2 ? (bien que ce soit inutile) les opérateurs ternaires, ça a des chances de marcher? avec une certaine syntaxe exemple: - Spoiler:
(expr1) ? expr2 : expr3
L'expression(expr1) ? (expr2) : (expr3) renvoie la valeur de l'expression expr2 si l'expression expr1 est vraie, et l'expression expr3 si l'expression expr1 est fausse.
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Mer 20 Jan 2010 - 20:51 | |
| deja une chose de sur pour if ( condition1 && condition2 ) ___ instruction GM va quand meme verifier les deux expressions et c'est parfois tres ***** |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Mer 20 Jan 2010 - 21:19 | |
| je sias pas sous gm mais d'ab ca lis la condition, si oui ca éxécute en bas sinon ca passe par dessu et va au else |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Mer 20 Jan 2010 - 23:51 | |
| - onilink_ a écrit:
- deja une chose de sur pour
if ( condition1 && condition2 ) ___ instruction GM va quand meme verifier les deux expressions et c'est parfois tres ***** La solution serait un code du genre: var tmp; tmp = true; if (exp0) { if (exp1) { //vrai tmp = false; } } if (tmp) { //faux } Mettre la condition la moins gourmande en premier. Mais je crois que Mark Overmars a programmer GM ainsi pour éviter les effets de bord. Par exemple: une condition qui appelle un script qui change le déroulement du programme etc... C'était surement pour simplifier l'apprentissage de la programmation et éviter les erreurs. |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Jeu 21 Jan 2010 - 20:40 | |
| oui, GM saute le "else" (ou la première partie, si l'expression était fausse)
pour le and, comme dit plus haut, il me semble aussi qu'il vérifie les deux. La solution proposée par CoDeAVE est à adopter si tu à vraiment besoin de puissance, ou qu'une des deux variables demande beaucoup de calculs.
et pour l'opérateur ternaire fait une fonction qui contient :
if(argument0) { return argument 1; }else{ return argument 2; } |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Sam 23 Jan 2010 - 10:58 | |
| Les opérateurs ternaires dans gm pas à l'époque, aujourd'hui dans sa toute dernière version peut être. |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Dim 24 Jan 2010 - 0:04 | |
| - CoDeAVE a écrit:
- onilink_ a écrit:
- deja une chose de sur pour
if ( condition1 && condition2 ) ___ instruction GM va quand meme verifier les deux expressions et c'est parfois tres ***** La solution serait un code du genre:
var tmp; tmp = true; if (exp0) { if (exp1) { //vrai tmp = false; } } if (tmp) { //faux }
Mettre la condition la moins gourmande en premier. d'acc, j'y avais pensé, et là justement j'ai besoin de puissance. ça m'a l'air pratique |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Dim 24 Jan 2010 - 3:12 | |
| Oui, mais comme je disais, il faut faire attention aux effets de bord. |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Dim 24 Jan 2010 - 10:21 | |
| donc si mes conditions sont des place_free et des a<b etc.. ça ne pose pas de problèmes? |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? Dim 24 Jan 2010 - 20:53 | |
| "En informatique, une fonction est dite à effet de bord si elle modifie un état autre que sa valeur de retour. Par exemple, une fonction peut modifier une variable statique ou globale, modifier un ou plusieurs de ses arguments, écrire des données vers un écran ou un fichier ou lire des données provenant d'autres fonctions à effet de bord. Les effets de bord rendent souvent le comportement des programmes plus difficiles à comprendre."-wikipedia
Donc, si tu appelle une fonction de ce genre dans ta deuxième condition, tu peux avoir des problèmes si tu prend pour acquis que la deuxième condition est lue même si la première est fausse. |
|
| |
Contenu sponsorisé
| Sujet: Re: optimisation des conditions, boucles, opérateurs ternaires? | |
| |
|
| |
| optimisation des conditions, boucles, opérateurs ternaires? | |
|