休憩時間に scratch バッファで Emacs Lisp を少し触ってみた。
関数定義
関数は defun で定義する
(defun hoge (x y) (+ x y)) (hoge 2 3) ;; -> 5
(defun square (x) (* x x)) (square 6) ;; -> 36
無名関数 lambda
lambda で無名関数として書くと、それぞれ以下のようになる(はず)。
(lambda (x y) (+ x y)) (lambda (x) (* x x))
高階関数 mapcar
関数を引数に取ったり戻り値として渡したりできる。引数のリストに対して関数を適用する mapcar という関数があった。
(defun square (x) (* x x)) (mapcar 'square '(1 2 4)) ;; -> (1 4 16)
こういうのはいちいち関数定義するのではなく lambda で書くのがよさそう。
(mapcar '(lambda (x) (* x x)) '(1 2 3 4 5 6)) ;; -> (1 4 9 16 25 36)
おわり。
140709 ルーティン
- 掃除:OK. 掃除機
- サプリメント:OK.
- 筋トレ:腕立て伏せ 20 回
140709 生活
活動
- 2:00 -> 8:00 で睡眠時間 6:00
- 会社 8:55in -> 20:50out
夕食
- ご飯、明太子、納豆
140709 メモ
140709 読んだもの
- なし