tôi đang đọc "Đất đai của Lisp" (đó là bằng cách này, một trong những cuốn sách kỹ thuật tốt nhất mà tôi đã từng đọc) và tôi đi qua danh sách hiệp hộicâu hỏi cơ bản về danh sách liên kết trong Lisp
(defparameter *edges*
'((living-room (garden west door)
(attic upstairs ladder))
(garden (living-room east door))
(attic (living-room downstairs ladder))))
Đầu tiên, danh sách liên kết trong Lisp có cùng khái niệm về Bản đồ của Java (ràng buộc khóa-giá trị) không?
Đối với khóa phòng khách, làm cách nào để có thể có nhiều giá trị? tại sao không gửi kèm các giá trị với một danh sách:
(living-room ((garden west door) (attic upstairs ladder)))
Ah, đánh bại tôi vào nó bằng một vài phút! Có, không sử dụng cú pháp cặp chấm ném tôi cho một vòng lặp, quá, cho một quan sát thứ hai - tốt! – Ken
Nếu tôi muốn nhận được giá trị, tại sao tôi phải cdr? assoc được cho là có giá trị, đúng không? – Chiron
ASSOC giúp bạn * bản ghi *. Sau đó, bạn cần CAR hoặc CDR để lấy khóa/giá trị. –