这是我尝试过的方法,无法弄清错误的出处。缺少什么吗?语法错误?我尝试在函数中使用if-else进行类似操作,但也出现错误。
var steps = 0 func incrementSteps() -> Int { steps += 1 print(steps) return steps } incrementSteps() let goal = 10000 func progressUpdate() -> Int { let updated = progressUpdate()/goal switch updated { case (0.0..<0.1): print("Great start") case (0.11..<0.5): print("Almost halfway") case (0.51..<0.9): print("Almost complete") default: print("Beat goal") } } progressUpdate()
这是我尝试过的方法,无法弄清错误的出处。缺少什么吗?语法错误?我尝试在函数中使用if-else进行类似操作,并且也遇到错误。 var ...
您需要将updated
指定为Double
。并在返回时将其转换回Int
(如果需要,请输入Int
)。
注意:另外,您需要修改在progressUpdate
定义内调用progressUpdate
函数的操作,这会导致递归。如果要这样做,则可能需要为break
循环赋予条件。