gpt4 book ai didi

arrays - 无法使用 CountableRange 类型的索引为 Array 类型的值添加下标

转载 作者:行者123 更新时间:2023-11-30 12:11:10 24 4
gpt4 key购买 nike

错误:无法使用 CountableRange 类型的索引为 Array 类型的值添加下标

我想从任何数组/序列中找到一些顶级元素。

extension Array {
func top(max:Int) -> Array {
guard self.count > max else {
return self
}
let last = max - 1
return self[0..<max]
}
}

最佳答案

此功能已存在于标准库中,形式为 Array.prefix(_:)

但是要解决此代码中的问题:

这里的错误实际上并不是您无法使用 CountableRange 类型的索引为 Array 类型的值添加下标,而是您无法这样做来生成 类型的结果数组

用范围作为 Array 的下标会生成 ArraySlice,而不是 Array。因此,您的代码必须是:

extension Array {
func first(_ maxLength: Int) -> ArraySlice<Element> {
return self[0 ..< Swift.min(maxLength, self.count)]
}
}

关于arrays - 无法使用 CountableRange<Int> 类型的索引为 Array<Element> 类型的值添加下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46041945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com