thể trùng lặp:
what is the ‘cons’ to add an item to the end of the list?Thêm vào cuối danh sách trong LISP
Sau khi xem nhiều hướng dẫn về lisp và tìm kiếm cao và thấp trên google cho câu trả lời, tôi vẫn không thể tìm ra cách thêm vào cuối danh sách trong LISP.
Tôi muốn chức năng của mình được thêm 'a
vào cuối danh sách '(b c d)
nhưng tôi chỉ biết cách thêm nó ở phía trước. Ai đó có thể giúp tôi sử dụng khuyết điểm chính xác để thêm 'a
vào cuối danh sách không? Đây là mã của tôi. Cảm ơn trước.
(defun AddRt (a list)
(cond
((null list)
0)
(t
(princ (cons a (cons (car list) (cdr list))))
)))
(AddRt 'a '(b c d))
Nếu tôi không sử dụng hiệu trưởng, làm thế nào tôi nên đi về xuất (endcons 'a' (b c d)) vào màn hình? Cảm ơn sự giúp đỡ của bạn. – Bert
Bạn có thể sử dụng nguyên tắc sau đó, ví dụ '(princ (endcons 'a' (b c d)))'. Nó luôn luôn là một ý tưởng tồi để xác định một chức năng mà làm một số công việc và đầu ra cùng một lúc: những gì sẽ xảy ra nếu bạn muốn sử dụng nó nhiều lần và không muốn bị khó chịu bởi hàng ngàn dòng rác? Luôn tách biệt «công việc thực» và IO. –