找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 619|回复: 0

[日积月累]:几个表处理函数

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-2-9 14:07:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. (defun a-values        (code lst)
  2.   (mapcar 'cdr
  3.           (vl-remove-if-not '(lambda (x) (= (car x) code)) lst)
  4.   )
  5. )
  6. (defun firstN (N L)
  7.   (cond        ((zerop N) nil)
  8.         ((>= n (length l)) l)
  9.         (T
  10.          (cons
  11.            (car L)
  12.            (firstN (1- N) (cdr L))
  13.          )
  14.         )
  15.   )
  16. )
  17. ;;(firstN  3 '(2 4 6 8 10 12))
  18. ;;=>(2 4 6)
  19. (defun nthcdr (N L)
  20.   (cond        ((zerop N) L)
  21.         (T (nthcdr (- N 1) (cdr L)))
  22.   )
  23. )
  24. ;;(nthcdr  3 '(4 5 6 7 8 9 ))
  25. ;;=> (7 8 9)

  26. (defun remove-member (a / ex)
  27.   (setq ex (vl-remove (car a) a))
  28.   (if (car a)
  29.     (cons (car a) (remove-member ex))
  30.   )
  31. )

  32. ;;_$ (remove-member '(1 2 2 3 2 3 4 2 1 2 3 4 2 2 4 1 2))
  33. ;;(1 2 3 4)
  34. ;;_$ (remove-member '("a" "df" "a" "we" "sf" "we" "a" "ee"))
  35. ;;("a" "df" "we" "sf" "ee")
  36. (defun vvl-remove (A L /)
  37.   (apply 'append
  38.          (mapcar '(lambda (x)
  39.                     (if        (not (equal x A))
  40.                       (list x)
  41.                     )
  42.                   )
  43.                  L
  44.          )
  45.   )
  46. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 23:26 , Processed in 0.370283 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表