本帖最后由 wowan1314 于 2012-5-12 19:14 编辑
总结本帖。感谢caoyin指导。
 - ;;求表中相同元素个数;;eg:(T11 1 '(1 1 1 2 2 3 4 4 4 4 5 6))-->3
- ;;方法1(caoyin推荐)
- (defun T11 (IT LST / N)
- (setq N 0)
- (while (setq LST (member IT LST))
- (setq LST (cdr LST) N (1+ N))
- )
- )
- ;;方法2
- (defun T12 (IT LST / N)
- (setq N 0)
- (while (vl-position IT LST)
- (setq LST (cdr LST) N (1+ N))
- )
- )
- ;;方法3
- (defun T13 (IT LST)
- (length (vl-remove-if-not '(lambda (X) (= X IT)) LST))
- )
- ;;方法4
- (DEFUN T14 (EXPR LST / N)
- (SETQ N 0)
- (foreach NAME LST (AND (= expr NAME) (SETQ N (1+ N))))
- N
- )
|