Tôi có một vector [[[1 2] [3 4]] [[5 6] [7 8]] [9 10] 11]
. Tôi muốn áp dụng một chức năng cho vector này nhưng giữ cấu trúc dữ liệu.Clojure - Áp dụng một chức năng cho vec tơ vectơ
Ví dụ: tôi muốn thêm 1 vào mọi số nhưng giữ cấu trúc dữ liệu để có được kết quả là [[[2 3] [4 5]] [[6 7] [8 9]] [10 11] 12]
. Điều này có thể không?
Tôi đã thử
(map #(+ 1 %) (flatten [[[1 2] [3 4]] [[5 6] [7 8]] [9 10] 11]))
=> (2 3 4 5 6 7 8 9 10 11 12)
Nhưng bạn có thể thấy rằng các cấu trúc dữ liệu là không giống nhau.
Có lẽ một hàm mang theo (2 3 4 5 6 7 8 9 10 11 12)
-[[[2 3] [4 5]] [[6 7] [8 9]] [10 11] 12]
Tôi nghĩ có lẽ sử dụng postwalk nhưng tôi không chắc chắn nếu điều này là đúng.
Bất kỳ trợ giúp sẽ được nhiều đánh giá cao