simon8001 发表于 2011-6-13 11:38:24

问个删除表最后一个元素的问题!请朋友解答下!(已完结)

本帖最后由 simon8001 于 2011-6-14 09:18 编辑

(defun c:ff()
(setq sxb (list(list"S1" "26") (list"09" "20") (list"09" "26") (list"09" "20") (list"10" "26") (list"10" "20") (list"10" "26")
       (list"10" "20") (list"19" "26") (list"S" "") (list"10" "20") (list"10" "26") (list"10" "20") (list"10" "26")
       (list"11" "20") (list"11" "26") (list"10B" "20") (list"11A" "26") (list"11B" "20") (list"11A" "26") (list"" "")))
(setq n-sxb (length sxb))
(setq bb(nth (- n-sxb 1) sxb))
         (if (= bb '(list "" ""))
      (progn (setq sxb(vl-remove bb sxb))
      (setq n-sxb-2(- n-sxb 1))))
)如题,删除表中最后一个元素,vl-remove这个命令应该不对呀!可是我没查到?希望朋友们帮着解答一下!!

Andyhon 发表于 2011-6-13 11:47:11

参考这个讨论
http://bbs.mjtd.com/thread-87374-1-4.html

simon8001 发表于 2011-6-13 11:55:55

回复 Andyhon 的帖子

我看到过这个讨论,我想知道是不是有直接的删除命令呀,原来我的书上看到过“dnr” 可在lisp试过这个不是命令!!

Andyhon 发表于 2011-6-13 12:13:50

Google ....
http://www.google.com/search?as_q=defun+++the+list+without+the+last+element&as_epq=BUTLAST&as_oq=&as_eq=&hl=zh-en&num=10&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images&btnG=Google+%E6%90%9C%E5%B0%8B

Gu_xl 发表于 2011-6-13 12:16:16

回复 simon8001 的帖子

(reverse (cdr (reverse lst)))

simon8001 发表于 2011-6-13 13:46:20

回复 Gu_xl 的帖子

我知道了 谢谢!!

simon8001 发表于 2011-6-13 13:47:41

回复 Andyhon 的帖子

谢谢你!多亏了我英语过了6级,不然还真是有点看不懂呢 呵呵!!

198526 发表于 2011-6-13 17:28:49

这跟英语也有关系,我的英语全部还给老师了

simon8001 发表于 2011-6-14 09:26:30

回复 198526 的帖子

教完学费,学完英语,英语还回去了,钱可不给我们退回来!!

露草 发表于 2012-4-12 19:02:10

多转换一次用LISP函数也可以啊
页: [1] 2
查看完整版本: 问个删除表最后一个元素的问题!请朋友解答下!(已完结)