动态近距离for-in
循环的正确方法是什么?我在这部分for z in 1...[10-x]{
for x in 1...10{
for y in 1...x{
print(" ")
}
for z in 1...[10-x]{
print("*")
}
println()
}
错误:
Playground execution failed: <EXPR>:26:15: error: 'ClosedInterval<T>' does not have a member named 'Generator'
for z in 1...[10-x]{
答案 0 :(得分:2)
[10-x]
表示数组(具有单个元素10-x
)。你会想要“正常”
括号:
for z in 1 ... (10 - x) { ... }
或只是
for z in 1 ... 10 - x { ... }
因为...
的优先级低于-
。
正如您所注意到的,这对x = 10
不起作用,因为Swift中不允许使用end < start
的范围。
要执行循环n
次,最好将范围0 ..< n
与省略上限值的范围运算符一起使用。这适用于n = 0
:
for x in 1 ... 10 {
for y in 0 ..< x {
print(" ")
}
for z in 0 ..< 10 - x {
print("*")
}
println()
}