defstruct
là không được sử dụng hiệu quả trong ngôn ngữ, có lợi cho defrecord
. Chúng ta phải chuyển sang Clojure (JVM), vì vậy tôi cho rằng Clojurescript sẽ giống nhau. Xem phần sau:
Clojure: data structures: "Lưu ý: Hầu hết việc sử dụng StructMaps giờ đây sẽ được phân phối tốt hơn theo hồ sơ".
ClojureDocs: defstruct bình luận bởi steveminer: "Các cấu trúc cũ đã lỗi thời. Hãy sử dụng các bản ghi thay thế. Xem phần ghi lại."
Số điện thoại sắp tới Niềm vui của Clojure, phiên bản thứ 2. (bản phát hành V9) của Fogus và Houser nói "Với sự ra đời của defrecord
, nhu cầu về cấu trúc đã gần như bị loại bỏ và do đó các cấu trúc không được đề cập trong cuốn sách này". (p. 322)
Cũng lưu ý rằng Lập trình Clojure, 2nd ed. bởi Halloway và Bedra bao gồm defrecord
nhưng không phải defstruct
(mặc dù có một số đề cập đến về cấu trúc - có thể vô tình bị bỏ qua lần thứ nhất).
Tôi đoán tất cả những người thú vị đang sử dụng defrecord
những ngày này. :-)
Alex Miller's answer để "Tôi nên sử dụng từ khóa không hợp lệ trong clojure ở đâu?" có một cuộc thảo luận tốt đẹp về lợi thế (và bất lợi) của defrecord
, mặc dù anh ta không, chủ yếu, so sánh nó với defstruct
.
Nó * được * sử dụng hiệu quả trong ngôn ngữ, có lợi cho 'defrecord': [defstruct] (http://clojuredocs.org/clojure_core/clojure.core/defstruct). Chúng ta phải chuyển sang Clojure (JVM). Tôi cho rằng Clojurescript sẽ giống nhau. – Mars
Tuyệt vời - thêm câu trả lời đó với một tham chiếu và tôi sẽ đánh dấu nó là đã trả lời. – hawkeye