数组元素作为函数中的参数
array elements as argument in functions
swift 的新手。我们有
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
我想用 b 的前 c 个元素调用 func xyz。
var a = xyz(b[0...c])
- 不起作用
使用 Range
在数组中选取会生成 ArraySlice
,而不是 Array
。
因此,如果您希望将此 "slice" 传递给函数:
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
let slice = b[0...c]
您必须让您的函数接受具有正确类型的 ArraySlice
:
func xyz(chunk: ArraySlice<Double>) {
print(chunk)
}
xyz(slice)
但是如果你只想使用普通数组,让你的函数接受一个数组,并在调用函数时将切片转换为数组:
func xyz(chunk: [Double]) {
print(chunk)
}
xyz(Array(slice))
swift 的新手。我们有
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
我想用 b 的前 c 个元素调用 func xyz。
var a = xyz(b[0...c])
- 不起作用
使用 Range
在数组中选取会生成 ArraySlice
,而不是 Array
。
因此,如果您希望将此 "slice" 传递给函数:
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
let slice = b[0...c]
您必须让您的函数接受具有正确类型的 ArraySlice
:
func xyz(chunk: ArraySlice<Double>) {
print(chunk)
}
xyz(slice)
但是如果你只想使用普通数组,让你的函数接受一个数组,并在调用函数时将切片转换为数组:
func xyz(chunk: [Double]) {
print(chunk)
}
xyz(Array(slice))