如何通过在Swift Playground中传递Int数组来创建求和函数并调用它?

时间:2019-03-12 09:11:50

标签: ios swift swift-playground

我创建了一个函数,该函数通过接受Int数组并将元素之和作为整数值返回来执行数字求和。以下是我的代码,经检查在逻辑上是正确的,但在运行时提及,控制台中的“索引超出范围”和“

  

错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)。

代码:

import UIKit
var x=[Int]()
var i=0
func dosomething(y:[Int])->Int{

    for index in 0..<y.count{
        if index==0{
            x[index]=0
            x[index]=x[index]+y[index]
            i=x[index]
            }
        else{
            x[index]=x[index-1]+y[index]
           i=x[index]
        }
       }
    return i
}

dosomething(y:[1,2,3])

2 个答案:

答案 0 :(得分:7)

您可以直接使用像这样的高阶函数

[1,2,3].reduce(0, +)

答案 1 :(得分:2)

由于suppressWarnings数组为空,并且您试图设置不存在的值,所以会出现错误。您应该首先创建该值,然后将其更改为所需的值,以这种方式更改方法:

X