Swift 生成器:next() 的对应物是什么?
Swift Generators: What is the counterpart to next()?
我目前正在学习Swift。在玩发电机时,我遇到了以下问题:给定一个发电机 iter
。如何返回一项?
例如:
var str = "Hello World"
var iter = str.characters.generate()
iter.next() // => H
...
iter.next() // => l
iter.next() // => o
// how can I get this functionality to go back?
iter.previous() => l
iter.next() => o
如果不使用生成器:如何让这种行为向前和向后(在字符串中)?
提前致谢!
使用索引:
var str = "Hello World"
let i0 = str.startIndex
let i1 = i0.successor()
let i00 = i1.predecessor()
str[i0] // H
str[i1] // e
str[i00] // H
我目前正在学习Swift。在玩发电机时,我遇到了以下问题:给定一个发电机 iter
。如何返回一项?
例如:
var str = "Hello World"
var iter = str.characters.generate()
iter.next() // => H
...
iter.next() // => l
iter.next() // => o
// how can I get this functionality to go back?
iter.previous() => l
iter.next() => o
如果不使用生成器:如何让这种行为向前和向后(在字符串中)?
提前致谢!
使用索引:
var str = "Hello World"
let i0 = str.startIndex
let i1 = i0.successor()
let i00 = i1.predecessor()
str[i0] // H
str[i1] // e
str[i00] // H