2011-06-18 38 views

Trả lời

18

Sự cố là + bị quá tải để ghép nối String thành không dây. Vì vậy, bất cứ khi nào bạn sử dụng phương thức + trên một loại không có nó, bạn sẽ nhận được một thông báo lỗi không liên quan đến vấn đề thực sự: rằng loại bạn có không phải là loại bạn mong đợi.

+::+ để thay thế.

20

Mở rộng câu trả lời của Daniel, + cũng là một toán tử rất xấu để sử dụng để chèn bộ sưu tập. Về mặt toán học, toán tử + có ý nghĩa rất thông thường và một phần ý nghĩa đó là sự đảm bảo về tính kết hợp. Thật không may, sự kết hợp là một sự đảm bảo không có ý nghĩa gì cả khi bạn thêm một số Int vào một Vector[Int]. Như vậy, + luôn luôn là một nhà điều hành rất khó hiểu đối với bất kỳ ai có bất kỳ khóa đào tạo đại số nào.

+::+ là cấp trên theo một số cách, không phải là ít nhất là không có sự mong đợi về tính kết hợp. Trên thực tế, sự bất đối xứng của các toán tử ngụ ý không phải là - tính tương tác, chính xác là ngữ nghĩa của chúng. Ngoài ra +::+ phản chiếu nhau rất độc đáo, và +: là kết hợp phù hợp, tất cả đều âm mưu cung cấp một API rất tự nhiên cho việc thu thập và thêm vào bộ sưu tập tương ứng.

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