Skip to content

Instantly share code, notes, and snippets.

@ifesdjeen
Created May 1, 2013 20:16
Show Gist options
  • Save ifesdjeen/5498023 to your computer and use it in GitHub Desktop.
Save ifesdjeen/5498023 to your computer and use it in GitHub Desktop.
Clojure Multimethods
(defmulti even-odd
(fn [i]
(if (= 0 (mod i 2))
:even
:odd)))
(defmethod even-odd :even
[i]
(println "Even " i))
(defmethod even-odd :odd
[i]
(println "Odd " i))
(even-odd i)
(even-odd 1)
;; Odd 1
;; => nil
(even-odd 2)
;; Even 2
;; => nil
(even-odd 3)
;; Odd 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment