Qu'est-ce que tu ne comprends pas dans cet exemple ?
Je vais essayer de l'expliquer avec un dessin sur l'exemple de l'arbre binaire que j'ai utilisé. Si on le représente graphiquement l'arbre ressemble à cela :
/\
/ \
1 /\
2 3
L'idée de la fonction fold est d'appliquer une fonction f sur les feuilles et une fonction g sur les nœuds. Dans le cas de l'addtion, la fonction plus, cela donnerait cet arbre :
+
/ \
/ \
1 +
/ \
2 3
Ce qui est une façon de représenter sous forme d'arbre le calcul 1 + ( 2 + 3 ).
Dans le cas général, la fonction fold, cela pourrait se représenter ainsi :
g
/ \
/ \
f 1 g
/ \
f 2 f 3
Le principe te semble-t-il plus clair ainsi ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Exemple judicieux ?
Posté par kantien . En réponse à la dépêche Apprendre la programmation fonctionnelle avec le MOOC OCaml. Évalué à 1.
Qu'est-ce que tu ne comprends pas dans cet exemple ?
Je vais essayer de l'expliquer avec un dessin sur l'exemple de l'arbre binaire que j'ai utilisé. Si on le représente graphiquement l'arbre ressemble à cela :
L'idée de la fonction
foldest d'appliquer une fonctionfsur les feuilles et une fonctiongsur les nœuds. Dans le cas de l'addtion, la fonctionplus, cela donnerait cet arbre :Ce qui est une façon de représenter sous forme d'arbre le calcul
1 + ( 2 + 3 ).Dans le cas général, la fonction
fold, cela pourrait se représenter ainsi :Le principe te semble-t-il plus clair ainsi ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.