foo est une fonction, cond un paramètre, on pourrait mettre des parenthèse mais c'est pas la coutume dans certains langages comme Haskell. Après le = on a la définition de la fonction.
Le "if" est une expression qui prend une valeur, qu'on affecte à l'évaluation de la fonction. C'est des langages qui fonctionnent comme le lambda calcul, on évalue les parties genre les appels de fonction, et à la fin de l'exécution on a plus rien à évaluer (si ça termine), et on a une valeur du programme en résultat.
Du coup on peut voir le "if" lui même non comme une structure de contrôle mais comme une fonction, dans un langage fonctionnel, comme dans les tableurs par exemple. En fonction du booléen en entree, on retourne (s'évalue en) la valeur du deuxième ou du troisième paramètre.
[^] # Re: goto return cave
Posté par thoasm . En réponse au journal Is return the new goto ?. Évalué à 5.
foo est une fonction, cond un paramètre, on pourrait mettre des parenthèse mais c'est pas la coutume dans certains langages comme Haskell. Après le = on a la définition de la fonction.
Le "if" est une expression qui prend une valeur, qu'on affecte à l'évaluation de la fonction. C'est des langages qui fonctionnent comme le lambda calcul, on évalue les parties genre les appels de fonction, et à la fin de l'exécution on a plus rien à évaluer (si ça termine), et on a une valeur du programme en résultat.
Du coup on peut voir le "if" lui même non comme une structure de contrôle mais comme une fonction, dans un langage fonctionnel, comme dans les tableurs par exemple. En fonction du booléen en entree, on retourne (s'évalue en) la valeur du deuxième ou du troisième paramètre.