Classes / Methods

; Clojure has no methods: a function takes the record as its first argument

(defrecord Calc [factor])

(defn get-sum [calc n1 n2]
  (* (:factor calc) (+ n1 n2)))

(def calc (->Calc 1))
(def sum1 (get-sum calc 5 3))
; sum1 is 8
(def sum2 (get-sum calc 2 3))
; sum2 is 5

(println "sum1 =" sum1)
(println "sum2 =" sum2)