游乐场输出错误

时间:2014-06-05 11:21:11

标签: arrays swift swift-playground

我想知道这是否是操场上的错误,或者它应该像这样工作:

var types = ["0", "1", "2"]      // ["0","1","2"]
    types += "3"                 // ["0","1","2","3"]
    types += ["4", "5"]          // ["0","1","2","3","4","5"]
    types[3..5] = ["34"]         // ["34"]

在我看来,最后一行types应该包含["0","1","2","34","5"],但游乐场会提供不同的输出 - 写在右边。

我认为在右边我们只能看到最后编辑过的东西,但在第2行和第3行我们可以看到整个类型的数组。

在助理编辑中,我得到[0] "34",而我认为它应该是[3] "34"和其他数组。

2 个答案:

答案 0 :(得分:2)

var指的是可变内容,您也可以为其分配值。

types[] - 索引的新值,意味着它不应该连接。

对于Ex:

var types = ["0", "1", "2"]
types += "5"
types += ["4", "5"]
types[3..5] = ["34"] // Here considering the index of 3..5 (3 & 4) as one index - Assigning a single value  and replaced with the value
types

enter image description here

答案 1 :(得分:2)

您在["34"]行之后仅看到types[3..<5] = ["34"]的原因是,赋值运算符=返回已分配的值。

其他行显示整个数组,因为+=运算符返回赋值的结果。