一个新挑战substr可以提取字符串,有人发现了可以对表操作的函数吗
www.dimcax.com
一个新挑战substr可以提取字符串,有人发现了可以对表操作的函数吗
本人求个可以像substr这个函数这样,对表中的内容位置的提取方法和substr相同,谢谢
d
(defun sublist (lst be end / new_list)
(setq end (+ be end -3) be (- be 2));为了和substr一样
(while (<= be end)
(setq new_list (append new_list (list (nth (setq be (1+ be)) lst))))
)
)
(sublist (list 1 2 3 4 5 6 7 8 9) 3 6)
(3 4 5 6 7 8)
原创加密lisp真正的破解.原创lisp操作cad内置对话框.原创lisp直接调用win32 api.原创lisp开发小助手(代码自动生成器).原创vba语句->lisp语句解释器.原创lisp音乐播放器.原创lisp直接使用vba对话框.
;;;;提取表中某个位置,多少个元素(szzzzzzz=nil为提取到最后元素的位置),最后返回一个表,表中第一个元素位置为1,用法99.9%与substr相同
(defun ko-substr-<list (lst pt szzzzzzz / len szzzzzzz wz i lst1 lst)
(setq len (length lst))
(if (= szzzzzzz nil) (setq szzzzzzz (+ (- len pt) 1)))
(if (> szzzzzzz len)
nil
(progn
(setq wz (- pt 1))
(setq i 0 lst1 '()
)
(repeat szzzzzzz
(setq lst1 (append (list (nth wz lst)) lst1))
(setq wz (1+ wz))
(setq i (1+ i))
)
(setq lst (reverse lst1))
)
)
)
,刚才写的,没偷懒啦
d
命令: (ko-substr-<list (list 1 2 3 4) 2 7)
nil
命令: (ko-substr-<list (list 1 2 3 4) 2 4)
(2 3 4 nil)
命令: (substr "1234" 2 7)
"234"
有错误;看来还不是99.9%
原创加密lisp真正的破解.原创lisp操作cad内置对话框.原创lisp直接调用win32 api.原创lisp开发小助手(代码自动生成器).原创vba语句->lisp语句解释器.原创lisp音乐播放器.原创lisp直接使用vba对话框.
我修改一下
命令: (sublist (list 1 2 3 4) 2 7)
(2 3 4)
通过工具菜单->加载应用程序 可加载该程序,然后可直接在命令行输入相关命令运行。如需要每次启动时均加载该程序,则可以将该文件放在启动组中。
文件预览:
原创加密lisp真正的破解.原创lisp操作cad内置对话框.原创lisp直接调用win32 api.原创lisp开发小助手(代码自动生成器).原创vba语句->lisp语句解释器.原创lisp音乐播放器.原创lisp直接使用vba对话框.
命令: (ko-substr->list (list 1 2 3 4) 2 2)
(2 3)
命令: (ko-substr->list (list 1 2 3 4) 2 nil)
(2 3 4)
命令: (ko-substr->list (list 1 2 3 4) 1 4)
(1 2 3 4)
上面的都没有问题,我说的1%是指,我如果要全长的话,要输入一个nil才行,而substr则不要输入时是默认是直到最后一个表元素