2011-10-27 38 views

Trả lời

12

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") 

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") 
+9

Hoặc '(bản đồ str [ " "a" b" "c"] [ "c" "d" "e"]) ' –

+0

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. –

+0

@Brian: cảm ơn bạn, đã thêm phần này để trả lời văn bản. –

Các vấn đề liên quan