ASTUCE pour les accolades { } pour if et else

Signaler
Messages postés
244
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
25 juin 2005
-
Messages postés
244
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
25 juin 2005
-
J'ai découvert hier, cette astuce en lisant un bouqin de C.

Cette astuce concerne les accolades {} des conditions if et else qui ne sont pas obligatoires si la condition ne contient qu'une commande.

Exemples :
Ceci :
alias exemple {
if $1 <= 10 && $1 >= 1 { return Ton nombre est compris entre 1 et 10 }
}
est la même chose que cela :
alias exemple {
if $1 <= 10 && $1 >= 1 return Ton nombre est compris entre 1 et 10
}

Ou
alias exemple2 {
if $1 == salut { return Coucou ! }
else return { Mechant :( }
}
équivaut à :
alias exemple2 {
if $1 == salut return Coucou !
else return Mechant :(
}

Par contre à un if ou else qui contiendrait 2 (et plus) commandes, les accolades sont obligatoires.

Mes codes n'ont pas été testé mais sont logiquement justes.

Voilà, en espérant vous avoir appris qqch.
++
irc://koliserv.dyndns.org

-Carton- :)

8 réponses

Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Tu es un peu à la bourre, cette 'astuce' est connue depuis longtemps depuis nombres de scripteurs.
En plus c'est marqué dans l'aide:
"You can create multi-line scripts by using the { } brackets. This allows you to create an alias which performs several commands."
Messages postés
244
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
25 juin 2005

Ben,voila quoi....
Je savais pas que c'était marqué dans l'aide, je n'ai jamais vu cette technique mise en pratique et jamais personne ne m'a dit qui connaissait ça donc j'ai posté.....
[ ]

-Carton- :)
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
8
Je ne connaissais pas cette astuce, mais où est son interêt ?
Les conditions sont évaluées plus rapidement ?
-<gras>[ Sorn_Drixer ]-</gras>
-
Un problème ? une question ? N'hésitez pas, le forum est là pour ça.

:question) Vous pouvez me retrouver sur koliserv.dyndns.org:6667

:question) Sorn-Creation
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
l'intéret est de gagner quelques ms dans un gros code, puisque mirc n'a plus à évaluer les () et {}.

----

tofu\
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Version C:
//Préprocesseur
#include <stdio.h>

int main(void) {
//Taleau des taux
const double taux[3] = {1.25,1.40,1.50};
//Déclaration de la variable d'entrée
float r;
printf("Entrez le montant: ");
//Capture du montant dans la variable r
scanf("%f",&r);
//Gestion des erreurs
if (r < 0) { printf("Erreur! montant invalide.\n"); return 0; }
printf("\nTaux: %f\nMontant canadien: %f\nMontant américain: %f\n"
,taux[0],r*taux[1],r*taux[2]);
return 0;
}

Version C++:
//Préprocesseur
#include
int main(void) {
//Taleau des taux
const double taux[3] = {1.25,1.40,1.50};
//Déclaration de la variable d'entrée
float r;
cout << "Entrez le montant: ";
//Capture du montant dans la variable r
cin >> r;
//Gestion des erreurs
if (r < 0) { cout << "Erreur! montant invalide.\n"; return 0; }
cout << "\nTaux: " <<taux[0]
<<"\nMontant canadien: "<< r*taux[1] << "\nMontant américain: "<< r*taux[2];
return 0;
}
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Arf erreur, trompé de page :|
Messages postés
708
Date d'inscription
lundi 15 juillet 2002
Statut
Membre
Dernière intervention
17 mars 2005

ptdr :D
Messages postés
244
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
25 juin 2005

^^

irc://koliserv.dyndns.org

-Carton- :)