我在Python中实现了一个生成器,问题是当生成器为空时,我想返回“ None”:
data Wrapper = Wrapper
{ x :: X
, i :: Int
}
deriving (Generic, HasX, Sample)
我得到一个错误:
StopIteration
答案 0 :(得分:0)
您的问题是next(iter, None)
。您循环永无止境。它可以正常工作6次,然后开始产生None
。当您收到错误消息时。
删除None
,以便引起StopIteration
并导致外循环结束
答案 1 :(得分:0)
list(permute(['b', 'a', 'c']))
将返回生成器输出的列表。
但是,您的生成器似乎返回了无限循环。