gpt4 book ai didi

swift - 如何替换 position++ 代码以使其与 Swift 3 兼容?

转载 作者:可可西里 更新时间:2023-11-01 00:08:22 25 4
gpt4 key购买 nike

我有以下类,它有方法 getNextToken 来迭代数组项:

class Parser {
let tokens: [Token]
var position = 0

init(tokens: [Token]) {
self.tokens = tokens
}

func getNextToken() -> Token? {
guard position < tokens.count else {
return nil
}
return tokens[position++]
}
}

但我从编译器那里收到一条警告消息,表示++ 将在 Swift 3 中被弃用

我应该如何重写我的代码,让方法在当前位置返回数组项并在之后增加位置?

再添加一行 position +=1 的标准建议不适合这里,因为我在评估 tokens[position++] 时正好退出范围/p>

最佳答案

defer 可用于递增 position 变量计算返回值之后:

func getNextToken() -> Token? {
guard position < tokens.count else {
return nil
}
defer {
position += 1
}
return tokens[position]
}

关于swift - 如何替换 position++ 代码以使其与 Swift 3 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36241242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com