本帖最后由 作者 于 2008-6-12 13:26:41 编辑
if应该是这样吧 :) (if (and (>= i 0) (< i (length li)) (/= i k) (>= k 0) (< k (length li)) ) ) 照瓢画葫芦,看看我的有问题不 ;;将表内第4个和第5个元素交换 (defun c:test2() (setq L '("a" "b" "1" "2" "3" "c")) (setq i 3) (setq ii 4) (setq new (jh L i ii)) ) (defun jh(li a b / aa bb ) (if (and (>= a 0) (>= b 0) (< a (length li)) (< b (length li)) ) (progn (setq aa (nth a li)) (setq bb (nth b li)) (setq li (subst "x" bb li) li (subst bb aa li) li (subst aa "x" li) ) ) ) ) |