Loại Array
trong Swift có hàm thành viên được gọi là sort
, có chữ ký là sort(isOrderedBefore: (T, T) -> Bool)
. Chức năng này khác với phiên bản toàn cầu của sort
, có chữ ký sort(array: T[], pred: (T, T) -> Bool)
.Gọi hàm toàn cầu có cùng tên với chức năng thành viên
Nếu mở rộng Array
(xem Why does the same method fail when inside an Array extension in Swift?), gọi sort
từ bên trong phạm vi của tiện ích Array
sẽ tự nhiên dẫn đến phiên bản cục bộ đang được sử dụng.
Có thể gọi hàm một cách rõ ràng từ phạm vi bên ngoài, hoặc cụ thể từ phạm vi toàn cục, ngay cả khi tên của nó trùng với tên của hàm từ phạm vi bên trong?
Đây sẽ là tương tự như nhà điều hành có độ phân giải Phạm vi C++, ::
Ah, bạn có nghĩa là nhà điều hành phạm vi toàn cầu của C++ '::'? Câu hỏi thú vị. – Yawar
@Yawar, vâng, chính xác. – Cezar