- Switch (instruction)
-
Pour les articles homonymes, voir Switch.
En programmation informatique, switch (« aiguillage » en anglais), parfois aussi select (comme en VB) ou inspect est une instruction qui permet d'effectuer un branchement à partir de la valeur d'une variable. Elle peut dans certains cas remplacer une série (souvent peu élégante) de if … else. On l'utilise lorsque les cas à gérer sont très nombreux.
Sommaire
Fonctionnement
Switch évalue l'expression qui lui est donnée et aiguille le programme vers le cas correspondant à la valeur effective de cette expression. Les cas sont indiqués par l'instruction case.
Lorsque le programme est aiguillé, il rentre dans le bloc du switch et n'en sort que lorsqu'un break est rencontré, ou au début du cas suivant, selon le langage. Si la valeur de l'expression donnée ne correspond à aucun des cas, le programme est aiguillé vers l'instruction default qui doit apparaître après tous les case. Si le bloc n'en possède pas, il est sauté.
Conditions d'utilisation
En C
En C, les switch s'appuient sur une valeur entière ou de type énuméré. Les valeurs d'aiguillage doivent être des nombres entiers (attention, impossible d'utiliser une variable, même constante ; ces entiers peuvent cependant être cachés derrière des macros) ou des énumérateurs.
En PHP
En PHP, switch fonctionne tant que l'égalité peut être vérifiée entre la variable testée et les valeurs des cas.
En Python
En Python, l'instruction switch n'existe pas ; il faut la remplacer par une suite de si/sinon, ou en passant par un lambda-calcul.
Syntaxe
- En PHP :
switch (variable) { case "valeur1": action1; break; case "valeur2": action2; break; case "valeur3": action3; break; case "valeur4": action4; break; default: actionpardefaut; }
La syntaxe est identique en C (sauf pour ce qui est des chaînes de caractères).
Wikimedia Foundation. 2010.