如何使用带 Swift 的步幅在循环中重置种子变量?
How to reset variable of seed on loop using stride with Swift?
我想使用带 Swift 的步幅在循环中重置变量(种子)。
我有这段代码在 C#
上完美运行
for (int i = 0; i <= 10; i++)
{
//something
i = 0; //restart this value when necessary
}
我正在尝试 swift
for var i in stride(from: 0, to: 10, by: 1){
//something
i = 0; //I need to reset this value when necessary, but not working
}
变量 "i" 更改了一秒钟,但随后 returns 变为原始值,行为与 C# 不同。
谢谢。
可以使用
var i = 0
while i <= 10 {
i += 1
// reset if necessary
}
正如亚历山大的回应,你实际上要求做的事情是邪恶的。我倾向于认为 labeled do
statement 也不会是您的最佳选择,但它是最简单的解决方案,无需再查看任何代码。
下面会打印 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
var condition = true
loopReset: do {
for i in 0..<10 {
if condition, i > 5 {
condition = false
continue loopReset
}
print(i)
}
}
我想使用带 Swift 的步幅在循环中重置变量(种子)。 我有这段代码在 C#
上完美运行for (int i = 0; i <= 10; i++)
{
//something
i = 0; //restart this value when necessary
}
我正在尝试 swift
for var i in stride(from: 0, to: 10, by: 1){
//something
i = 0; //I need to reset this value when necessary, but not working
}
变量 "i" 更改了一秒钟,但随后 returns 变为原始值,行为与 C# 不同。
谢谢。
可以使用
var i = 0
while i <= 10 {
i += 1
// reset if necessary
}
正如亚历山大的回应,你实际上要求做的事情是邪恶的。我倾向于认为 labeled do
statement 也不会是您的最佳选择,但它是最简单的解决方案,无需再查看任何代码。
下面会打印 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
var condition = true
loopReset: do {
for i in 0..<10 {
if condition, i > 5 {
condition = false
continue loopReset
}
print(i)
}
}