Gladir.com - C Shell (csh) - Conditionnel



Les instructions de conditionnelles en langage C Shell sont au nombres de deux légèrement différentes de celle du C:

  • if() then ... else
  • switch() ... case: endsw

if

L'instruction «if» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai. Voici donc les syntaxes:
if(expression_vrai) then
   instruction_exécuté_si_vrai
endif
ou
if(expression_vrai) then
   instruction_exécuté_si_vrai
else
   instruction_exécuté_si_faux
endif
Vous y remarquerez donc après les syntaxes proposé que l'instruction «else» n'est pas obligatoire. Il est également à noter qu'une condition est vrai si elle est différente de zéro et de se fait qu'il n'y a pas de symbole de d'égalité classique (==, <=, >=). Enfin, on peut aussi bien exécuté une instruction seul ou bloc d'instruction contrairement à Perl.

switch

Lorsqu'on effectue une série de teste répétitive sur une même variable avec différente valeur de la manière suivante:
if(valeur == 1) then
   instruction_exécuté_si_vrai
else if(valeur == 2) then
   instruction_exécuté_si_vrai2
else if(valeur == 3) then
   instruction_exécuté_si_vrai3
else
   instruction_exécuté_si_faux
endif
On devrait plutôt tenté d'utiliser l'instruction «switch» laquelle permet une meilleure lisibilité en plus de simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction «switch» permet d'effectuer une de nombreuses comparaison sur un unique résultat. Voici donc sa syntaxe:
switch(résultat)
 case valeur1:
  instruction1_exécuté_si_vrai1
  breaksw
 case valeur2:
  instruction_exécuté_si_vrai2
  breaksw
 case valeur3:
  instruction_exécuté_si_vrai3
  breaksw
 default:
  
instruction_exécuté_si_faux
  breaksw
endsw
L'instruction «breaksw» empêche l'exécution suivante, et en dépit qu'elle n'est pas obligatoire elle dans la plupart des cas présentes. L'instruction «default» n'est pas obligatoire, il est tout de même préférable de l'inclure pour prévenir une situation anormale ou d'erreur.


Dernière mise à jour: Dimanche, le 12 mars 2006