我有低於使用發電機給新ID片斷是否可以恢復迭代器並且可以分配其值/狀態?
...
def __init__(self, id_generator = None):
if id_generator is None: id_generator = 0
if isinstance(id_generator, int):
import itertools
self._generator = itertools.count(id_generator)
else:
self._generator = id_generator
...
id = self._generator.next() #0
id = self._generator.next() #1
id = self._generator.next() #2
id = self._generator.next() #3
我的問題是,假設我有一個現有的ID號,如int(99)需要在運行時被接受 和需要_generator產生從99 啓動ID的樣子:
0
1
2
3
4
<---- new id number 99 be given in somehow
99
100
101
我怎麼能養活它回到_generator? 只需使用self._generator = itertools.count(99)
或有更好的方法?
更多的是,如果它不是一個int類型的話,我可以如何備忘/指定發生器的狀態/值?
謝謝!
好,這有什麼錯'self._generator = itertools.count(99)'? – SilentGhost 2010-07-09 09:52:50
我也想保持_generator作爲「正式」的地位,並使用另一個副本進行處理,C void swap(a,b)的個人曲折,現在我明白我可以使用tee()。謝謝 – 2010-07-09 14:35:01