我有一个String像LINNIIBDDDN,基本上是一系列标记。我想使用多个迭代器,每个标记类型一个。我想让每个迭代器忽略不属于它的标记。也就是说,我想调用类似next_ish()的方法,将迭代器推进到其特定标记的下一个元素。因此,如果N迭代器位于索引3,并且我调用了next_ish(),我希望它转到索引10,即下一个N,而不是索引4处的I。我有一些已经可以运行的代码,但是它有很多代码,它使String成为一个数组,并且我有迭代器的子类,基本上是手写的,没有Swift的帮助,尽管我确信Swift迭代器更稳定并且经过全面测试。在可能的情况下,我宁愿使用他们的代码也不愿使用我的代码。似乎
一:Sequence对于Sequence协议来说,表达的是既可以是一个有限的集合,也可以是一个无限的集合,而它只需要提供集合中的元素,和如何访问这些元素的接口即可。Sequence和Collection的关系.png1.1迭代器IteratorSequence是通过迭代器Iterator来访问元素的,那么什么是迭代器?直接来看for..in函数letnumbers=[1,2,3,4]fornuminnumbers{print(num)}for..in函数其实是一种语法糖,他的本质是怎么去调用的呢?编译成SIL并定位到main函数中for..in的调用不重要的代码我就直接省略了//mainsil
一:Sequence对于Sequence协议来说,表达的是既可以是一个有限的集合,也可以是一个无限的集合,而它只需要提供集合中的元素,和如何访问这些元素的接口即可。Sequence和Collection的关系.png1.1迭代器IteratorSequence是通过迭代器Iterator来访问元素的,那么什么是迭代器?直接来看for..in函数letnumbers=[1,2,3,4]fornuminnumbers{print(num)}for..in函数其实是一种语法糖,他的本质是怎么去调用的呢?编译成SIL并定位到main函数中for..in的调用不重要的代码我就直接省略了//mainsil