cljめも #1

clojureしたときのメモ

環境 

なんとなくleiningenでnewして構築したけど 現状完全に恩恵を無視して書いている. 実質今はreplでやれるレベルの事しかしていないので問題はない.

エディタはIntelliJ IDEAだと何となく重そうだったので Emacs(clojure-mode + cider)をしてる. これはEmacsに慣れ親しむ意味でもある.

ciderではC-c C-pとかC-c C-eしかつかってない(というかそれくらいしか使い方を知らない...)のでなんとも使いこなしていない感が拭えない.

コンマを空白と同様に扱う

(println 1 2 3)
  ; => 1 2 3
(println 1,,,2,,,,,,,3,,,,,,,,,,)
  ; => 1 2 3

無名関数

書き方が新鮮だったのでメモ

;; 関数
(defn add [a b]
  (+ a b))
(add 1 2) ; => 3

;; 無名関数
((fn [a b] (+ a b)) 
  1 2)
  ; => 3

;; リーダマクロを使う
;; %1 %2 %3 ... と増やせる
(#(+ %1 %2) 
  1 2) 
  ; => 3

;; 引数ひとつの時は%だけでいい
(#(+ 1 %) 2)
  ; =>3

すごい

carとcdrは?

car -> fisrt

cdr -> rest