Nhìn vào định nghĩa cho sự quá tải của nhà điều hành trong +=
Swift duy nhất cho phép bạn thêm các yếu tố để một bộ sưu tập:Ràng buộc loại chung loại này có ý nghĩa gì trong Swift?
/// Append the elements of rhs to lhs
func +=<T, C : Collection where T == T>(inout lhs: ContiguousArrayBuffer<T>, rhs: C)
^^^^^^
nào T == T
chế làm gì? Tại sao chúng ta cần nó ở đây? Dường như một ràng buộc tầm thường luôn đúng.
Bên trong hàm quá tải toán tử toàn cục này trông có vẻ lạ ... Tuy nhiên, nhìn vào các địa điểm khác sử dụng điều này, chẳng hạn như 'mở rộng T []: ArrayType {init (_ s: S)} 'Có vẻ như nó đơn giản cố gắng đảm bảo các phần tử của chuỗi đối số có cùng kiểu với mảng mà bạn đang cố khởi tạo. Tôi không chắc chắn như thế nào được thực thi thông qua cú pháp này mặc dù .. –
Jack