从数组

时间:2017-03-05 15:03:52

标签: arrays swift matrix upsurge

我正在使用名为Upsurge的库来处理一些与Matrix相关的函数。

其中一个功能是从矩阵创建子矩阵。使用Upsurge,可以创建一个给定像这样的范围的子矩阵。

matrix[3...4, 0...1]

我面临的情况是,我需要创建一个子矩阵,给定两个数组,指定行数和列数。

由于我可以直接传递数组,因此我尝试将它们转换为如下所示的范围。

let rows: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
let columns: [Int] = []

let rowsRange = Range(uncheckedBounds: (rows.startIndex, rows.endIndex))
let columnsRange = Range(uncheckedBounds: (columns.startIndex, columns.endIndex))

let subMatrix = matrix[rowsRange, columnsRange]
// Cannot subscript a value of type 'Matrix<Double>' with an index of type '(Range<Int>, Range<Int>)'

但是我收到了以下错误。

  

无法下标'Matrix&lt;类型的值双&gt;'索引类型为'(范围&lt; Int&gt;,范围&lt; Int&gt;)'

这是将数组转换为范围的正确方法吗?或者我在这里做错了什么?

0 个答案:

没有答案