人気ブログランキング | 話題のタグを見る
On Lisp 第4章 ユーティリティ関数
&key とか :key みたいな、記号 + 一般的な名詞ってのは調べにくいなぁ。


- Common Lisp のオペーレータ
- 関数
- マクロ
- 特殊形式

4.1 ユーティリティの誕生
- 抽象化の初歩: 「振る舞いを密接に組み込んでは行けない」

4.4 検索
# 本書の直接の内容ではないけど、、、
- ラムダリストキーワード (参考:M.Hiroi's Home Page / xyzzy Lisp Programming)
- &key, キーワードを設定する
- :key, キーワードの指定
(defun before (x y lst &key (test #'eql))
(and lst
(let ((first (car lst)))
(cond ((funcall test y first) nil)
((funcall test x first) lst)
(t (before x y (cdr lst) :test test))))))

(before 'a 'b '(a b c d)) ;=> (A B C D)

を、&key を使わずに書き換えると
(defun before-no-key (x y lst)
(and lst
(let ((first (car lst)))
(cond ((eql y first) nil)
((eql x first) lst)
(t (before-no-key x y (cdr lst)))))))

(before-no-key 'a 'b '(a b c d)) ;=> (A B C D)


4.7 シンボルと文字列
- 任意の文字列をシンボルとして使用可能。
シンボルに空白や括弧が含まれる場合は、
「縦棒 (|) で挟まれる」 or 「文字の前に \ がつけられる」
(let ((s (symb '(a b))))
(and (eq s '|(A B)|) (eq s '\(A\ B\))))
;=> T




On Lisp
Paul Graham

4274066371
オーム社 2007-03
売り上げランキング : 82240
おすすめ平均 star

Amazonで詳しく見る
by G-Tools
by fkmn | 2009-11-05 23:55 | 一人読書会
<< On Lisp 第5章 返り値... On Lisp 第3章 関数... >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX