我该怎么做?从数组中获取前n个元素:
newNumbers = numbers[0..n]
当前出现以下错误:
error: could not find an overload for 'subscript' that accepts the supplied arguments
编辑:
这是我正在使用的功能。
func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> { var newNumbers = numbers[0...position] return newNumbers }
这对我有用:
var test = [1, 2, 3] var n = 2 var test2 = test[0..<n]
您的问题可能与如何声明数组开始有关。
要修复您的功能,您必须将自己Slice转换为数组:
Slice
func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> { var newNumbers = Array(numbers[0..<position]) return newNumbers } // test aFunction([1, 2, 3], 2) // returns [1, 2]