関数型デザインを読み始めたので、Clojureも触っておこうと思った。
環境
インストール
以下のLinux instructionsから
前もってrlwrapが必要とのことで、入れる
➜ apt install rlwrap ➜ rlwrap --version rlwrap 0.43
rlwrap古い気がする。aptでの入れ方が悪い?
以下で行けた
curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh chmod +x linux-install.sh sudo ./linux-install.sh ➜ clj Clojure 1.12.0 (- 3 10) -7 (+ 2 3) 5
REPLで少し遊ぶ
以下のチュートリアルから関数定義と実行
Clojure - Programming at the REPL: Basic Usage
user=> (defn fanctorial [n] (if (= n 0) 1 (* n (fanctorial (dec n))))) #'user/fanctorial ;; 関数自体を指定すると、どこのネームスペース?で定義されたものかが出てくる。あとアドレス? fanctorial #object[user$fanctorial 0xa50ae65 "user$fanctorial@a50ae65"] ;; 実行 (fanctorial 10) 3628800