【发布时间】:2009-10-08 14:31:35
【问题描述】:
虽然我很想在 python 中解决这个问题,但我被困在 Delphi 中。我有嵌套列表(实际上是具有嵌套列表作为属性的对象,但没关系),我想以生成器的方式迭代它们。也就是说,我想编写一个 Next 函数,它为我提供嵌套列表所描述的树的叶子中的下一项。
例如,假设我有
[[1,2,3],[4,5],[],[6],[7,8]]
我希望连续 8 次调用 Next() 以返回 1..8。
如何在没有 yield 和生成器的语言中做到这一点?
请注意,嵌套的深度是固定的(本例中为 2,现实生活中为 4),但欢迎解决深度可变的更一般情况的答案。
编辑:对不起,我应该提到,这是 Delphi 2007。
【问题讨论】: