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 时,它会将范围本身作为参数传递,并且该初始化程序遍历范围中的元素并将每个元素添加到数组中。