-1
据我了解,在Swift中,ArraySlice
保留对它制作的Array
的引用。我怎样才能访问超出切片边界的数组元素?如何访问ArraySlice的父数组的元素?
举例来说,确实ArraySlice
有一些“父母”的属性,会使下面的代码打印“A”:
func getSlicePrologue(_ slice: ArraySlice<String>) -> String {
return slice.parent[0]
}
func main() {
let array = ["A", "B", "C"]
let slice = array[1...2]
print(getSlicePrologue(slice))
}
main()
如果没有,有没有推荐的方式 - 不是保持跟踪Array
的明确其他?还是有一些比Array
更合适的数据结构呢?
我修改了示例代码,使其更加明显,父数组不应该直接访问。 –
但是由于'getSlicePrologue'纯属幻想,永远无法写出,所以这个例子并没有神奇地变得更具吸引力。如果你想让另一个函数能够访问'array [0]',你就会传递'array',而不是'slice'。 – matt
说我的幻想是不可能的,为什么,是值得欢迎的;另一方面,如何按照我特别想避免的方式来做事情,只是增加了对话的噪音。幻想_可以写 - 你确实读过我的。我希望更准确地表达它可能有助于减少仔细读者的噪音。 –