LINUX.ORG.RU

История изменений

Исправление ugoday, (текущая версия) :

что внутри списка не простые сравниваемые сущности

Значит и функцию сортировки нужно передать не простую:

CL-USER> (sort '((1 "Jon") (2 "Jan") (3 "Иван")) 
               #'(lambda (x y) (funcall #'> (car x) (car y))))
((3 "Иван") (2 "Jan") (1 "Jon"))
CL-USER> (sort '((1 "Jon") (2 "Jan") (3 "Иван")) 
               #'(lambda (x y) (funcall #'string<= (cadr x) (cadr y))))
((2 "Jan") (1 "Jon") (3 "Иван"))
CL-USER> 

Однако, это всё к делу не относится. Лучше объясни, в какой момент (list ...) стал объектом (или классом?)?

Исходная версия ugoday, :

что внутри списка не простые сравниваемые сущности

Значит и функцию сортировки нужно передать не простую:

CL-USER> (sort '((1 "Jon") (2 "Jan") (3 "Иван")) 
               #'(lambda (x y) (funcall #'> (car x) (car y))))
((3 "Иван") (2 "Jan") (1 "Jon"))
CL-USER> (sort '((1 "Jon") (2 "Jan") (3 "Иван")) 
               #'(lambda (x y) (funcall #'string<= (cadr x) (cadr y))))
((2 "Jan") (1 "Jon") (3 "Иван"))
CL-USER>