Search code examples
clojure

Basic Calculator using "Clojure’s"


We have to a write code in "Clojure’s" using case extension -

(defn calculator [x a b]
  (case x "+" (println (+ a b))
          "-" (println (- a b))
          "*" (println (* a b))
          "/" (println (/ a b)))
  
  )
)  
(def x (read-line))
(def a (Integer/parseInt (clojure.string/trim (read-line))))
(def b (Integer/parseInt (clojure.string/trim (read-line))))
(calculator x a b)

Please help us in above code i.e. where we went wrong.


Solution

  • I think you have one extra paren on calculator function.

    (defn calculator [x a b]
      (case x "+" (println (+ a b))
              "-" (println (- a b))
              "*" (println (* a b))
              "/" (println (/ a b))))
    
    (def x (read-line))
    (def a (Integer/parseInt (clojure.string/trim (read-line))))
    (def b (Integer/parseInt (clojure.string/trim (read-line))))
    
    (calculator x a b)