首页 > 解决方案 > 在 Swift 中访问具有范围的二维数组

问题描述

当我如下构造二维数组并在其上应用flatMap范围时,我得到以下结果:

var a = [["5", "3", ".", ".", "7", "."],["6",".",".","1","9","5"]]
print(a.flatMap{$0[1..<5]})

输出:

["3", ".", ".", "7", ".", ".", "1", "9"]

但是,如果我只想按如下方式显示范围,则会收到以下错误。

print(a[1..<5])

由信号 4 终止

标签: swift

解决方案


崩溃正是人们所期望的。a只有两个元素,索引为 0 和 1。通过说a[1..<5](也要求元素 2、3 和 4)应用更大的索引会使您超出范围。


推荐阅读