Techniques d'intégration multimédia
Dans certains langages (dont le Java, le C++ et le JavaScript) il existe une notation abrégée qui permet d'effectuer des tests simples, en une seule ligne de code. Cette structure porte le nom "d'opération ternaire". En voici la syntaxe:
Exemple 1:
///// Regardez bien ce if:
if(note<60){
Debug.Log("échec");
}else{
Debug.Log("passage");
}
// Voici l'opération ternaire équivalente:
(note<60)? Debug.Log("echec"): Debug.Log("passage"); // Wow! Une seule ligne de code!
Une des particularités de l'opération ternaire c'est de permettre aussi, de par sa nature "d'opérateur", d'être incluse au sein même d'une autre instruction. Elle prend alors plutôt la forme de:
En suivant cette syntaxe, l'exemple précédent pourrait donc aussi prendre cette forme:
Exemple 2:
Debug.Log((note<60)?"echec":"passage"); // Wow! Encore plus court!!!
Exemple 3:
// Opération ternaire intégrée dans une instruction de concaténation.
// Le code va afficher "Vous avez 1 cheval" si l'usager a indiqué la valeur 1 et
// affichera le pluriel si la valeur est 2 ou plus: "Vous avez 2 chevaux"
int nb=(int) _maSaisie.text;
Debug.Log("Vous avez " + nb + "cheva"+ ((n<2)?"l":"ux") );
// Pour faire la même chose avec un if, nous aurions dû écrire:
if(nb<2){
Debug.Log("Vous avez " + nb + "cheval"; // singulier
}else{
Debug.Log("Vous avez " + nb + "chevaux"; // pluriel
}
// La version avec opération ternaire et donc nettement plus compacte.