Skip to content

Instantly share code, notes, and snippets.

@marcsolanadal
Last active October 3, 2015 18:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcsolanadal/d177ab27ce82887a2c16 to your computer and use it in GitHub Desktop.
Save marcsolanadal/d177ab27ce82887a2c16 to your computer and use it in GitHub Desktop.
(use 'clojure.walk)
(def my-vec [[1 2] [3 4]])
(def simple-vec [1 2])
; mapv approach
(defn rand-walk [x a] (+ x (* a (- (rand) (rand)))))
(defn rwalk->vec [v a] (mapv #(rand-walk % a) v))
; working
(mapv #(rand-walk % 3) simple-vec)
(rwalk->vec [1 2] 3)
(mapv #(rwalk->vec % 3) my-vec)
; postwalk approach
(defn rand-walk
([x] (+ x (* 2 (- (rand) (rand)))))
([& more] (println more)))
; not working :(
(postwalk #(rwalk->vec % 3) my-vec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment