小编Pas*_*cal的帖子

为什么这种排序算法能够达到预期的效果?[Lisp的]

我正在做旧考试,为我自己的考试做好准备,教授也很好,也给了我们解决方案,现在我想知道为什么一个函数做了它应该做的事情.

(defun sortulists (L)
  (mapcar (lambda (uliste)
            (sort uliste (lambda (x1 x2)
                           (or (symbolp x2)
                               (and (numberp x1) (numberp x2)
                                    (< x1 x2))))))
          L))
Run Code Online (Sandbox Code Playgroud)

它应该采用一个列表L,其中包含未分类的子列表,这些子列表可能包含数字和原子,并首先对其数字进行排序,然后将符号放在最后.

当这样调用(sortulists '((A 9 b h 2) (1 m n 9 8) (5 a 7)))它返回((2 9 H B A) (1 8 9 N M) (5 7 A)).

有帮助吗?

编辑:修复缩进

lisp sorting common-lisp

4
推荐指数
2
解决办法
107
查看次数

Bordeaux-Threads:如何杀死一个线程?

我只找到了如何杀死我分配给变量的线程:
(setf *foo* (bt:make-thread (lambda () (loop)) :name "Foo2"))- >(bt:destroy-thread *foo*)

我怎么能杀死我能看到的任何线程(bt:all-threads):
(bt:make-thread (lambda () (loop)) :name "Foo")- >?

lisp multithreading common-lisp

3
推荐指数
2
解决办法
746
查看次数

标签 统计

common-lisp ×2

lisp ×2

multithreading ×1

sorting ×1