Tôi đang đánh giá Scala và đang gặp vấn đề với các bộ sưu tập không thể thay đổi của nó.Cách tạo các bộ sưu tập bất biến của Scala giữ các vật thể bất biến
Tôi muốn tạo các bộ sưu tập bất biến, hoàn toàn không thay đổi được, phải qua tất cả các đối tượng chứa, đối tượng mà chúng tham chiếu, quảng cáo vô hạn.
Có cách nào đơn giản để thực hiện việc này không?
Mã trên http://www.finalcog.com/immutable-containers-scala minh họa những gì tôi đang cố gắng đạt được và một công việc khó chịu xung quanh (ImmutablePoint).
Sự cố với giải pháp thay thế là mỗi lần tôi muốn thay đổi đối tượng, tôi phải tạo bản sao mới theo cách thủ công. Tôi hiểu rằng thời gian chạy sẽ phải thực hiện copy-on-write, nhưng điều này có thể được thực hiện trong suốt đối với nhà phát triển không?
Tôi cho rằng tôi đang tìm cách tạo các đối tượng bất biến, nơi mà các phương thức thay đổi trạng thái đối tượng hiện tại, nhưng tất cả các tham chiếu 'val' khác (và tất cả không thay đổi) đối tượng vẫn giữ trạng thái 'cũ'.
Bài báo này có thể bạn quan tâm: http://lamp.epfl.ch/~phaller/capabilities.html –
Tài liệu đọc tuyệt vời, cảm ơn. – fadedbee