Swift:Extension中的这个语句是什么意思?
Swift: What does this statement in Extension mean?
这是一个 swift 协议和扩展,用于将范围转换为数组:
protocol ArrayRepresentable {
typealias ArrayType
func toArray() -> [ArrayType]
}
extension Range : ArrayRepresentable {
func toArray() -> [Element] {
return [Element](self)
}
}
我不明白下面一行的意思:
return [Element](self)
它是什么return?它如何设法将元素附加到现有数组?
基本上它会创建一个包含范围内每个元素的新数组。
您可以创建一个空的 Int 数组,例如,使用 [Int]()
。
在这种情况下,Element
是范围内项目 "contained" 的类型。当它调用数组 init
时,它会将范围本身作为参数传递,并且该初始化程序遍历范围中的元素并将每个元素添加到数组中。
这是一个 swift 协议和扩展,用于将范围转换为数组:
protocol ArrayRepresentable {
typealias ArrayType
func toArray() -> [ArrayType]
}
extension Range : ArrayRepresentable {
func toArray() -> [Element] {
return [Element](self)
}
}
我不明白下面一行的意思:
return [Element](self)
它是什么return?它如何设法将元素附加到现有数组?
基本上它会创建一个包含范围内每个元素的新数组。
您可以创建一个空的 Int 数组,例如,使用 [Int]()
。
在这种情况下,Element
是范围内项目 "contained" 的类型。当它调用数组 init
时,它会将范围本身作为参数传递,并且该初始化程序遍历范围中的元素并将每个元素添加到数组中。