greatlmy 发表于 2013-6-11 06:49:33

介绍几个表处理函数

本帖最后由 Gu_xl 于 2013-6-11 20:35 编辑

(defun chgnth (i v l)
; 表换元素,用V替换表L中第I个元素,函数返回新表      
(if (< i (length l)) (append (carnth i l) (list v) (cdrnth i l))))
(defun carnth (i l)                        
; 表取头,保留表L前面I-1个元素,函数返回新表
(if (= i (length l))
   l   
(progn
      (setq l (reverse l)
            i (- (length l) i 1)
            l (cdrnth i l)
      )
   (reverse l)
    )
))
(defun cdrnth (i l)
; 表取尾,去除表L后面I个元素,函数返回新表
      (repeat (1+ i) (setq l (cdr l))))
(defun delnth (i l)
; 删除表L中第I个元素,函数返回新表
(append (carnth i l) (cdrnth i l)))


uualice2020 发表于 2022-4-7 17:34:06

谢谢楼主分享。

vladimirputin 发表于 2016-10-20 10:58:59

表处理函数很有用的在lisp

超人黄 发表于 2024-4-7 11:51:50

学习一下谢谢分享!!!

sicky111 发表于 2013-10-23 22:09:29

谢谢楼主分享。

llsheng_73 发表于 2013-10-25 22:06:57

好象实用性很强的样子

purpletyx2009 发表于 2013-11-8 12:41:44

不明觉厉,试试看

再往上就可看见 发表于 2014-1-3 00:00:06

好的,参考一下,谢谢楼主

yoyoho 发表于 2014-2-6 15:32:30

感谢 greatlmy 分享函数!

cdinten 发表于 2014-4-17 19:53:55

不错,就是lisp语言括号太多了,看着犯晕

enn09 发表于 2014-5-4 15:58:28


谢谢楼主分享。

yxh1202 发表于 2014-11-19 17:44:35

大师,有没有表去头,就是去掉表的前面n个元素返回新表。谢谢指导

yx5277 发表于 2014-11-19 19:33:47

不错的函数
页: [1] 2
查看完整版本: 介绍几个表处理函数