Tôi thấy mình luôn làm điều này. Tôi đã xem xét viết một macro/chức năng để làm cho loại điều này dễ dàng hơn, nhưng nó xảy ra với tôi rằng tôi có thể tái phát minh ra bánh xe.Thành ngữ lisp phổ biến - có cách nào tốt hơn không?
Có một chức năng hiện có sẽ cho phép tôi thực hiện cùng một loại điều ngắn gọn hơn không?
(defun remove-low-words (word-list)
"Return a list with words of insufficient score removed."
(let ((result nil))
(dolist (word word-list)
(when (good-enough-score-p word) (push word result)))
result))
Cảm ơn bạn - Tôi chưa bao giờ thực sự đưa ra một lý do để sử dụng mapcan trước đây, nhưng điều này cho tôi thấy con đường. Đối với ví dụ cụ thể này, remove-if/remove-if-not là tốt hơn, nhưng vẫn rất đẹp. – khedron