TL;DR

  • Clojure の関数が受け取る引数は、defn の関数名の後ろのベクタに書く。

内容

先ほどの say-hello を、name を引数として受け取って出力するように変えると、次のように書ける。

(defn say-hello [name]
  (println "Hello" name "!"))
 
(say-hello "Radish")

同じように、円の面積を求める関数も定義する。

(defn circle-area [radius]
  (* Math/PI (Math/pow radius 2)))
 
(circle-area 7) ;; 153.93804002589985

この circle-area は、次のようにしたほうが読みやすい(リファクタリング)。

(defn circle-area [radius]
  (* Math/PI radius radius 2))

キーワード