[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:06326] Re: 初めまして and 添削願い



すいません、亀井さん。もう一つ教えてください。

ソートのところでやっている

(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" とか ">=" にソー
トを行う段階で決めようとするならどこをいじったらよいでしょう。

Index Home