[英]Change the value of a variable from within a if conditional in Swift
我有一个循环,其中一个名为e
的变量会抛出 0 到 5 范围内的随机数。我还有另一个名为eValue
的变量,它只被初始化。 我希望当我的变量e
的值为 0 时,我的变量eValue
为 1,并且在发生这种情况时打印具有i
的值。
有了这个,我希望如果循环重复并且e
再次获得值 0,它不会改变i
的打印值。
var n = 1...25
for i in n {
let e = Int.random(in: 0...5)
var eValue : Int?
if e == 0 && eValue != 1 {
eValue = 1
print(i)
} else {
print("Variable 'e' has no value of 0 and 'eValue' already has a value equal to 1.")
}
}
我的问题是eValue
没有获得我在 if 条件中给出的值。
我该如何解决?
不是 eValue 没有设置,而是因为每次运行循环时都在重置 eValue。
您正在点击 if 语句,但随后立即重置 eValue,除非它恰好在最后一个循环中命中。
解决方法是使 eValue 的初始化脱离循环:
var n = 1...25
var eValue : Int?
for i in n {
let e = Int.random(in: 0...5)
if e == 0 && eValue != 1 {
eValue = 1
print(i)
} else {
print("Variable 'e' has no value of 0 and 'eValue' already has a value equal to 1.")
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.