Open ksqsf opened 5 months ago
i see. 不过我不太赞同「有了 iter 就不要其他接口」。比如想抛弃 sentence 的时候,如果有 peek,我可以保留其他代码,而不用引入别的代码。
if tran:peek() and tran:peek().type == "sentence" then
tran:next()
end
-- other logic
yield(cand1)
yield(cand2)
--
for cand in tran:iter() do
yield(cand)
end
有的时候只需要简单地查看前一两个候选,直接使用 Peek() 和 Next() 会比 iter() 方便一点。