Fonction récursive OCaml pour filtrer une liste

Camilou -  
 Utilisateur anonyme -
Bonjour

Je souhaiterai écrire un programme ocaml, me permettant d afficher un élément sur 2 de ma liste.
Par exemple j ai la liste [a;b;c;d;e]. Ainsi je vois pouvoir avoir en retour [b;d] dans le cas présent par exemple.
Je veux faire déclarer la liste de base.
Puis lancer la fonction récursive et enfin afficher le résultat avec la nouvelle liste.

Je ne sais pas par quoi commencer
Je sui un peu perdu.
Dois-je faire d abord un list-length avant?
Merci par avance
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour

Je ne code pas en ocaml, et donc une subtilité liée à ce langage pourrait m’échapper, mais du récursif pour ça est contre productif. Ça va multiplier les appels à la fonction, charger la RAM (c’est toujours le cas avec du récursif) sans aucun avantage.
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Je ne connais pas plus OCaml, mais je crois qu'il n'a pas de boucles donc la récursivité y serait obligatoire.
Espérons qu'un OCamleur pourra nous clarifier cela!
0
Utilisateur anonyme
 
Salut,

J’ai trouvé un exemple de for sur le net, mais en écriture impérative.
Comme ocaml est me semble t il « orienté » déclaratif (je sais pas si ça se dit…), il faut peut-être efficace passer la récursivité dans ce mode d’écriture.
0