私はPythonでこの問題を解決したいのですが、私はこの問題のためにDelphiで立ち往生しています。ネストされたリスト(実際にはネストされたリストをプロパティとして持つオブジェクトですが、気にしないでください)があり、ジェネレーター方式でそれらを反復処理したいと思います。つまり、ネストされたリストによって記述されたツリーの葉から次のアイテムを取得するNext関数を作成します。
たとえば、私が持っているとしましょう
[[1,2,3],[4,5],[],[6],[7,8]]
Next()を8回連続して呼び出して、1..8を返すようにします。
イールドとジェネレーターのない言語でこれを行うにはどうすればよいですか?
ネストの深さは固定されていますが(この例では2、実際には4)、深さが可変であるより一般的なケースを解決する答えは歓迎されます。
編集:申し訳ありませんが、これはDelphi2007です。