Alors que j'aimerais résoudre ce problème en python, je suis bloqué en Delphi pour celui-ci. J'ai des listes imbriquées (en fait des objets avec des listes imbriquées en tant que propriétés, mais peu importe), et je veux les parcourir de manière générative. Autrement dit, je veux écrire une fonction Suivant, qui me donne l'élément suivant des feuilles de l'arbre décrit par les listes imbriquées.
Par exemple, supposons que j'ai
[[1,2,3],[4,5],[],[6],[7,8]]
Je veux que 8 appels consécutifs à Suivant() retournent 1..8.
Comment puis-je faire cela dans un langage sans yield et générateurs ?
Remarquez que la profondeur de l'imbrication est fixe (2 dans cet exemple, 4 dans la vraie vie), mais les réponses qui résolvent le cas plus général où la profondeur est variable sont les bienvenues.
MODIFIER : Désolé, j'aurais dû mentionner que c'est Delphi 2007.