2012-04-28 16 views

Trả lời

10

Trong Ruby 1.9: . Trong Ruby 1.8: có thể không phải là.

Setuses a Hash internally; và kể từ khi băm được chèn vào trong 1,9, bạn nên đi!

Khi mu is too short chỉ ra, đây là chi tiết triển khai và có thể thay đổi trong tương lai (mặc dù không có khả năng). Rất may, việc triển khai hiện tại Set là ruby ​​tinh khiết và có thể được điều chỉnh thành OrderedSet trong tương lai nếu bạn thích

+15

Sắp xếp. [Tài liệu] (http://ruby-doc.org/stdlib-1.9.3/libdoc/set/rdoc/Set.html) nói "Thiết lập thực hiện một tập hợp các giá trị không có thứ tự mà không có bản sao". Việc sử dụng Hash bên trong là một chi tiết triển khai có thể thay đổi bất cứ lúc nào và "trật tự" không được đảm bảo bởi thông số giao diện. OTOH, nó cũng nói rằng "Set sử dụng Hash là lưu trữ." vì thế... –

Các vấn đề liên quan