只需一步,快速开始
怎么样在取得列表中的最小数的同时把这个最小的数从列表中删除
以变再次比较取得次等小的数。
使用道具 举报
;;(test '(1 3 -2 9 22 45 0))
(defun test (nlst) (vl-remove nil (mapcar '(lambda (a b) (if (/= a 0) b)) (vl-sort-i nlst '<) nlst ) ))
vl-remove
不是LISP的标准函数吧 需要加载吗?若要的话加载又需要什么条件呢?
能不能给下详细的注解 我刚学LISP
谢谢
Visual LISP 函数,加载方法(vl-load-com),平台是AutoCAD2000或以上的版本
vl-remove 功能:删除表中的元素。如:
(vl-remove 3 '(1 2 3 4 5 1 2 3))---->(1 2 4 5 1 2)
(vl-remove nil '(2 3 nil "" "ddd" 10.5))---->(2 3 "" "ddd" 10.5)
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-12 06:27 , Processed in 0.145092 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.