学习迭代器(深入Python 3)
一个问题基于作者对此的评论,如下所示: 只要从模式文件中读取的规则与我们正尝试多重化的单词不匹配,这个读取构建和缓存过程就会继续。如果我们确实在文件结尾之前找到了匹配规则,我们只需使用它并停止,而文件仍处于打开状态。文件指针将停留在我们停止读取的任何位置,等待下一个readline()命令。同时,缓存中现在有更多的项,如果我们重新开始尝试对一个新词进行复数,在从模式文件读取下一行之前,将尝试缓存中的每个项学习迭代器(深入Python 3),python,iterator,Python,Iterator,一个问题基于作者对此的评论,如下所示: 只要从模式文件中读取的规则与我们正尝试多重化的单词不匹配,这个读取构建和缓存过程就会继续。如果我们确实在文件结尾之前找到了匹配规则,我们只需使用它并停止,而文件仍处于打开状态。文件指针将停留在我们停止读取的任何位置,等待下一个readline()命令。同时,缓存中现在有更多的项,如果我们重新开始尝试对一个新词进行复数,在从模式文件读取下一行之前,将尝试缓存中的每个项 在上面引用的文本中,我没有看到任何粗体字的实现。如何准确地尝试每个缓存项 在每次对象调用时
复数功能中:
LazyRules
类的每个新实例(例如rules=LazyRules()
)都从它自己的空缓存开始(self.cache=[]
下的\uuu init\uuuu
)。每次您在第一次使用该缓存后对该对象(for…in rules
)进行迭代时复数功能中:
LazyRules
类的每个新实例(例如rules=LazyRules()
)都从它自己的空缓存开始(self.cache=[]
下的\uuu init\uuuu
)。每次您在第一次使用该缓存后对该对象(for…in rules
)进行迭代时for matches_rule, apply_rule in rules:
if matches_rule(noun):