【发布时间】:2014-09-15 20:38:58
【问题描述】:
我在玩 Swift 扩展,在尝试扩展 Bool 时遇到了一个奇怪的错误:
typealias Task = ()->()
extension Bool{
func untilFalse(task: Task){
while !self {println(self); task()}
}
}
var i = 2
(i < 1).untilFalse{
println(i)
println("\(i) bottles of beer on the wall, \(i) bottles of beer.")
i--
println("Take one down and pass it around, \(i) bottles of beer on the wall.")
}
由于某种原因,即使在boolean 表达式变为true 之后,循环也会继续进行。
对可能发生的事情有任何想法吗?
【问题讨论】:
标签: cocoa swift swift-extensions