错误:表达式列表中的预期表达式

时间:2018-06-26 05:21:02

标签: swift

我正在做这些小的Swift分配,以便更好地利用Swift和代码:

class StringCaterpillar {
    var bodyArray = ["h" , "e" , "l" , "l" , "o"]

    func add(_ text:String) {
        for text in 0...5 {
            print([text])
        }     // this is line 30
    }

    func go() {
        print(
    }
}

有一个错误。 如您所知,错误是:

  

“游乐场:30:5:错误:表达式列表中的预期表达式。

是的,我还没有完成第二个功能,但是我只是想知道你们是否可以告诉我这段代码中的错误在哪里以及错误的整体含义是什么?

4 个答案:

答案 0 :(得分:1)

最好的方法是:

class StringCaterpillar {
    var bodyArray = ["h" , "e" , "l" , "l" , "o"]

    func add(_ text:String) {
        for i in 0..<bodyArray.count {
            print(bodyArray[i])
        } 
    }

    func go() {
        print(
    }
}

这样,当您在数组中添加更多项时,您将永远不会遇到问题。

答案 1 :(得分:0)

for text in 0...5 {
            print([text])
        }

这...我想您想打印主体数组的位置,并且您在其中计数了5个对象?

如果是这种情况,您应该写:

for text in 0...4 {
                print(bodyArray[text])
            }

因为您仅在没有名称或其他内容的数组中搜索。您必须调用数组的名称。

答案 2 :(得分:0)

class StringCaterpillar {
var bodyArray = ["h" , "e" , "l" , "l" , "o"]

func add(_ text:String) {
    // this loop is also wrong which make run time error your condition must be 
    // 0...4
// this is line 30**strong text**
   for i in 0...4 {
       print(bodyArray[i])
   }
}

func go() {
            // this is syntax error
    print() // there is a error you missed the bracket 
}

}

答案 3 :(得分:0)

您可以使用 foreach

for text in bodyArray {
    print(text)
} 

在此代码中,您尝试到达bodyArray [5],但在5处没有索引