Có cách nào để xóa các mục trong danh sách lồng nhau theo loại như vậy (1 [2] 3 (4 [5] 6)) trở thành (1 3 (4 6)) nếu tôi chỉ muốn xóa các vectơ?Làm cách nào để xóa một mục theo loại từ danh sách lồng nhau hoặc vectơ trong Clojure?
Sử dụng postwalk, tôi có thể thay thế tất cả các vectơ bằng 0 nhưng tôi không thể tìm cách xóa chúng.
(clojure.walk/postwalk
#(if (vector? %) nil %) '(1 [2] 3 (4 [5] 6)))
=>(1 nil 3 (4 nil 6))
Điều này có vẻ chính xác những gì tôi đang tìm kiếm. Nó không xảy ra với tôi rằng tôi có thể thực hiện một chức năng chỉ trên các cấu trúc phụ. Cảm ơn. – dansalmo