[xyzzy:06326] Re: 初めまして and 添削願い
- Subject: [xyzzy:06326] Re: 初めまして and 添削願い
- From: quarto <quarto@xxxxxxxxxxxx>
- X-mailer: Becky! ver. 2.00.03
すいません、亀井さん。もう一つ教えてください。
ソートのところでやっている
(sort *xf-table* #'(lambda (x y) (< (nth 5 x) (nth 5 y))))
の "#'" 以降の処理なのですが、これは
(defun test1 (x y) (< (nth 5 x) (nth 5 y)))
という関数があれば (sort *xf-table* #'test1) と書けますよね。でもこんな
汎用性のない関数作ってもしょうがないので、こうしておいて
(defun test2 (n) #'(lambda (x y)
(< (nth n x) (nth n y))))
こうしたら
(sort *xf-table* #'(lambda (x y) (test2 4)))
任意の要素でソートできるようになったのですが、これをもう一歩進めて任意
の条件、つまり "<" となっているところを "string-lessp" とか ">=" にソー
トを行う段階で決めようとするならどこをいじったらよいでしょう。