Logo

Programming-Idioms

History of Idiom 20 > diff from v59 to v60

Edit summary for version 60 by jasonrobot:
[Clojure] Used the threading macro where appropriate.

Version 59

2019-09-26, 20:20:35

Version 60

2019-09-26, 21:34:46

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Idiom #20 Return two values

Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.

Code
  (defn find-in-2d-matrix [m x]
    (for [i (range (count m))
          j (range (count (first m)))
          :when (= x (nth (nth m i) j))]
      [i j]))
Code
  (defn find-in-2d-matrix [m x]
    (for [i (range (count m))
          j (range (count (first m)))
          :when (= x (-> m (nth i) (nth j)))]
      [i j]))