TL;DR

  • Clojure の関数は、最後に実行した式の値を返す。それより前の式の計算結果は捨てられる。

内容

Clojure では最後に実行した式の値を返す。

(defn add [a b]
  (+ a b))
(println (add 2 3)) ;; 5

別の例を見る。

(defn do-math [a b]
  (* a b)
  (+ a b))

次を実行すると 8 が返ってくるが、(* 5 3) の計算結果は捨てられる。

(do-math 5 3)

次のように式の順番を変えると、15 が返ってきて、(+ 5 3) の計算結果が捨てられる。

(defn do-math [a b]
  (+ a b)
  (* a b))
(do-math 5 3) ;; 15

キーワード