【发布时间】:2015-02-04 18:41:08
【问题描述】:
我是 Swift 的新手。在 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_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
【问题讨论】:
-
请edit您的帖子标题更能描述问题。 我怎样才能纠正这个问题? 当它出现在未来用户的搜索结果中时,它绝对没有意义。您的标题应描述问题或包含具有一定相关性的描述性问题。谢谢。
-
请注意,
0...num包括 范围结束,因此将为您提供一个包含num+1元素的数组。您可能想改为0 ..< num。