for...in 循环中的三个变量使用 Swift
Three variables in for...in loop using Swift
我能够使用 zip()
函数在 Swift 中为两个变量实现 for ... in
循环:
for (i, j) in zip(1...number, 2...number + 1)
现在,我正在尝试使用 zip()
在 Swift 中为三个变量实现 for ... in
循环,但它给出了错误:
for (i, j, k) in zip(1...number, 2...number + 1, 3...number + 2)
我在使用 zip 时遇到的错误:
main.swift:8:51: error: extra argument in call
for (i, j, k) in zip(1...number, 2...number + 1, 3...number + 2)
我也尝试省略 zip()
函数,但我仍然遇到错误:
for (i, j, k) in (1...number, 2...number + 1, 3...number + 2)
我在没有使用 zip()
的情况下遇到的错误:
main.swift:8:18: error: type '(ClosedRange, ClosedRange, ClosedRange)' does not conform to protocol 'Sequence'
for (i, j, k) in (1...number, 2...number + 1, 3...number + 2)
我该如何解决这个问题?
zip(_:_:)
不适用于超过 2 个参数。
func zip(_ sequence1: Sequence1, _ sequence2:
Sequence2) -> Zip2Sequence where Sequence1 :
Sequence, Sequence2 : Sequence
您需要组合多个 zip(_:_:)
才能正常工作。
示例:
for ((i, j), k) in zip(zip(1...number, 2...number + 1), 3...number + 2) {
print(i, j, k)
}
我能够使用 zip()
函数在 Swift 中为两个变量实现 for ... in
循环:
for (i, j) in zip(1...number, 2...number + 1)
现在,我正在尝试使用 zip()
在 Swift 中为三个变量实现 for ... in
循环,但它给出了错误:
for (i, j, k) in zip(1...number, 2...number + 1, 3...number + 2)
我在使用 zip 时遇到的错误:
main.swift:8:51: error: extra argument in call for (i, j, k) in zip(1...number, 2...number + 1, 3...number + 2)
我也尝试省略 zip()
函数,但我仍然遇到错误:
for (i, j, k) in (1...number, 2...number + 1, 3...number + 2)
我在没有使用 zip()
的情况下遇到的错误:
main.swift:8:18: error: type '(ClosedRange, ClosedRange, ClosedRange)' does not conform to protocol 'Sequence' for (i, j, k) in (1...number, 2...number + 1, 3...number + 2)
我该如何解决这个问题?
zip(_:_:)
不适用于超过 2 个参数。
func zip(_ sequence1: Sequence1, _ sequence2: Sequence2) -> Zip2Sequence where Sequence1 : Sequence, Sequence2 : Sequence
您需要组合多个 zip(_:_:)
才能正常工作。
示例:
for ((i, j), k) in zip(zip(1...number, 2...number + 1), 3...number + 2) {
print(i, j, k)
}