Le message de Linus, sur l'absence d'instruction break pour sortir prématurément d'une boucle en Pascal, me rappelle la situation de ceux qui utilisent pas mal le style impératifs en OCaml. Ils ont demandé plusieurs d'avoir cette primitive sur le bugtracker mais n'ont toujours pas eu gain de cause. Pour l'instant, il faut passer par des exceptions pour faire ça.
Bon dans le fond ça change rien, les exceptions en OCaml c'est un jump (à la manière des exceptions en C via goto), mais ça rendrait le code peut être plus clair avec un break.
Sinon pour revenir au journal, en programmation fonctionnelle ce n'est pas forcément la dernière valeur qui est retournée. C'est juste que c'est un style orienté expression et non instruction.
Dans le code suivant :
letfoocond=ifcondthen2else3
la valeur retournée dépend du booléen est peut être 2 ou 3. Ça équivaut à ce code :
(* return est juste la fonction identité *)letreturnx=x(* le même code qu'avant *)letfoocond=ifcondthenreturn2elsereturn3
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: goto return cave
Posté par kantien . En réponse au journal Is return the new goto ?. Évalué à 7.
Le message de Linus, sur l'absence d'instruction
breakpour sortir prématurément d'une boucle en Pascal, me rappelle la situation de ceux qui utilisent pas mal le style impératifs en OCaml. Ils ont demandé plusieurs d'avoir cette primitive sur le bugtracker mais n'ont toujours pas eu gain de cause. Pour l'instant, il faut passer par des exceptions pour faire ça.Au lieu de :
il faut faire un truc du genre :
Bon dans le fond ça change rien, les exceptions en OCaml c'est un
jump(à la manière des exceptions en C viagoto), mais ça rendrait le code peut être plus clair avec unbreak.Sinon pour revenir au journal, en programmation fonctionnelle ce n'est pas forcément la dernière valeur qui est retournée. C'est juste que c'est un style orienté expression et non instruction.
Dans le code suivant :
la valeur retournée dépend du booléen est peut être
2ou3. Ça équivaut à ce code :Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.