[CLJ-1095] Allow map-indexed to accept multiple collections (a la map) Created: 25/Oct/12 Updated: 08/Nov/12 |
|
| Status: | Open |
| Project: | Clojure |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Enhancement | Priority: | Trivial |
| Reporter: | Bo Jeanes | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Patch: | Code and Test |
| Description |
|
Bring external interface of map-indexed in line with map. Existing usages of map-indexed unchanged both in implementation and interface. examples (map vector (range 10 20) (range 30 35)) ;=> ([10 30] [11 31] [12 32] [13 33] [14 34]) (map-indexed vector (range 10 20) (range 30 35)) ;=> ([0 10 30] [1 11 31] [2 12 32] [3 13 33] [4 14 34]) The attached patch is not necessarily the best implementation (I haven't benchmarked it or tried any alternatives yet) but hopefully enough to start a conversation about whether this is an addition that is warranted. I know I wished for this behavior a few weeks ago though I ended up finding another way. (I haven't sent my CA yet, but I have it signed and ready to send in the next few days) |
| Comments |
| Comment by Aaron Bedra [ 25/Oct/12 5:11 PM ] |
|
Can you add a test for the improved functionality? |
| Comment by Bo Jeanes [ 25/Oct/12 5:20 PM ] |
|
You bet. I tried to before submitting this but found no existing tests for map-indexed to expand upon. Given that, I decided to just start the conversation first. If you think this is a good addition, I'll find a place to stick the tests and add a new patch file. |
| Comment by Bo Jeanes [ 25/Oct/12 8:05 PM ] |
|
Add two unit tests for map-indexed. One tests old behavior (single collection) and the second tests mapping across 3 collections. There were no existing tests for map-indexed that I could see to expand upon (using git grep map-indexed src/clojure) |