我对斯威夫特不熟悉。在Playground中尝试此代码并得到错误(请参阅下面的描述)可以,请,将我指向正确的方向-在哪里寻找解决方案?提前谢谢。
func randomSet(num: Int, max: Int) -> Array<Double> {
var randArray = Array<Double>()
for index in 0...num {
randArray[index] = Double(arc4random_uniform(max+1))
}
ERROR: var sum = randArray.reduce(0) {$0 + $1}
for index in 0...num {
randArray[index] = randArray[index] / Double(sum) * Double(max)
}
return randArray
}
test = randomSet(10, 100)
在标有单词ERROR的行上,我得到:
执行被中断,原因:EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0)
最佳答案
该错误实际上是由于尝试使用订阅在randArray
中附加值而导致的。您应该改用append
:
for _ in 0...num {
randArray.append(Double(arc4random_uniform(max+1)))
}
关于swift - 在Swift中汇总数组值时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28328928/