D'une part ce n'est pas ce qu'a demandé alex_pi (il a demandé une liste, pas un tableau, et il a demandé de récupérer les entiers pairs dans cette liste, pas de les afficher), d'autre part c'est très lourd, une solution fonctionnelle serait :
let getEvens xs = let even n = n mod 2 = 0 in List.filter even xs
Tu peux l'appliquer sur une liste comme ça :
getEvens [ 2 ; 0 ; 20 ; 172 ; 4 ; 29 ; 256 ; 1024 ; 89 ; 2078 ; 64 ; 4096 ; 22 ; 7 ; 1 ; 9029 ]
et tu obtiendras la liste des entiers pairs de la liste d'entrée : [2; 0; 20; 172; 4; 256; 1024; 2078; 64; 4096; 22].
Tu comprends ce qu'on veut dire par "changement de paradigme" ? Ton code est impératif, écrire de l'impératif en OCaml est un peu mieux qu'en C ou autre langage de bas niveau, mais n'exploite pas vraiment la puissance du langage.
--
Jedaï
Partager