Bạn có thể làm điều đó với map
. map
có thể lấy nhiều bộ sưu tập, nó lấy phần tử tiếp theo từ mỗi bộ sưu tập và chuyển chúng vào hàm được chuyển làm đối số đầu tiên (dừng khi một trong các bộ sưu tập hết). Vì vậy, bạn có thể chuyển vào một hàm lấy n đối số và n bộ sưu tập.
Khái niệm
(map str ["a" "b" "c"] ["c" "d" "e"])
sẽ gọi str
đầu tiên với "a" và "c", sau đó với "b" và "d", sau đó với "c" và "e". Kết quả sẽ là
("ac" "bd" "ce")
Vì str
có thể mất một số đối số có thể sử dụng với bất kỳ số lượng bộ sưu tập nào. Đi qua trong bốn bộ sưu tập, như
(map str ["a" "b" "c"] ["d" "e" "f"] ["g" "h" "i"] ["j" "k" "l"])
sẽ đánh giá để
("adgj" "behk" "cfil")
Nguồn
2011-10-27 21:16:43
Hoặc '(bản đồ str [ " "a" b" "c"] [ "c" "d" "e"]) ' –
Câu trả lời hay. Nó dựa vào việc biết cách bản đồ giao dịch với nhiều bộ sưu tập, điều này không phải lúc nào cũng được đề cập trong các hướng dẫn. –
@Brian: cảm ơn bạn, đã thêm phần này để trả lời văn bản. –