Re: Index of an element in a vector of vectors

2016-12-10 Thread Tyler Perkins
Don't know what you mean about "swapping", but here's a solution that generalizes to a tree of any finite depth, where each node is either a leaf element or a seqable (say, a vector) of any length: (defn coord-of ([elems target] (coord-of elems target [])) ([elems target indexes] (fi

Re: Index of an element in a vector of vectors

2016-12-08 Thread Andy-
In that case you can use mapv: (mapv (fn [xs] (mapv (fn [x] (if (= x "5") "XX" x)) xs)) players) Two notes: 1. There is room for optimization if you only want to map one element. This currently will just keep going. A smart implementation could ba

Re: Index of an element in a vector of vectors

2016-12-08 Thread 'Rickesh Bedia' via Clojure
Is there a way to generalise? I.e a function that allows you to swap any of the 1-9? On Wednesday, 7 December 2016 18:06:19 UTC, Andy- wrote: > > One option is to use keep-indexed: > > (first > (keep-indexed > (fn [i xs] > (first > (keep-indexed > (fn [j x] >

Re: Index of an element in a vector of vectors

2016-12-07 Thread Andy-
One option is to use keep-indexed: (first (keep-indexed (fn [i xs] (first (keep-indexed (fn [j x] (when (= x "5") [i j])) xs))) players)) On Wednesday, December 7, 2016 at 5:32:10 PM UTC+1, Rickesh Bedia wrote: > > If I have

Index of an element in a vector of vectors

2016-12-07 Thread 'Rickesh Bedia' via Clojure
If I have (def players [["1" "2" "3"] ["4" "5" "6"] ["7" "8" "9"]]) How would I get the index of number 5? I think it should be [1 1] but don't know how to get this If it were more simple such as (def players ["1" "2" "3"]) I can get the index using (.indexOf players "2") > 1