xiaocainiao
发表于 2024-9-4 17:19:40
tryhi 发表于 2024-9-4 16:51
目的是啥?
海哥、我重新编辑了一下问题、目的就是想实现类似于VL-LIST*的效果、将一个组合表拆分成单个表
tryhi
发表于 2024-9-4 17:26:33
xiaocainiao 发表于 2024-9-4 17:19
海哥、我重新编辑了一下问题、目的就是想实现类似于VL-LIST*的效果、将一个组合表拆分成单个表
首先list做不了,其次,vl-list*能做为什么要用list
xiaocainiao
发表于 2024-9-4 17:40:13
tryhi 发表于 2024-9-4 17:26
首先list做不了,其次,vl-list*能做为什么要用list
好吧、谢谢!我就是看到VL-LIST*有这种功能、所以想看看有没有其他函数也能实现这种效果、这样在其他场景也能用了、VL-LIST*必须要有多个表才能去除最后一个表的括号、单个表还不行、所以就来论坛请教一下
hubeiwdlue
发表于 2024-9-4 18:23:46
VL-LIST*就是加强版的cons。开括号,可能让一个变量变成多个变量,lisp的返回机制应该不支持这种吧。
tryhi
发表于 2024-9-4 19:41:54
xiaocainiao 发表于 2024-9-4 17:40
好吧、谢谢!我就是看到VL-LIST*有这种功能、所以想看看有没有其他函数也能实现这种效果、这样在其他场景 ...
可能你对lsp的机制有误解,不存在去括号的说法和用法,vl-list*也不是去括号,就是一个加强版cons对表追加,js语言倒是有这种操作
xiaocainiao
发表于 2024-9-4 19:43:49
hubeiwdlue 发表于 2024-9-4 18:23
VL-LIST*就是加强版的cons。开括号,可能让一个变量变成多个变量,lisp的返回机制应该不支持这种吧。
谢谢!刚刚又仔细看了一下VL-LIST*函数的说明、这回弄懂了他的用法
xiaocainiao
发表于 2024-9-4 19:45:06
tryhi 发表于 2024-9-4 19:41
可能你对lsp的机制有误解,不存在去括号的说法和用法,vl-list*也不是去括号,就是一个加强版cons对表追 ...
明白了、谢谢海哥、我的LISP是东拼西凑学习的、基础不太好、这回懂了VL-LIST*的用法了
Bao_lai
发表于 2024-9-4 21:02:18
本帖最后由 Bao_lai 于 2024-9-4 21:04 编辑
你自己觉得说明白问题没,建议:原始数据 -> 目标数据,这样大家就很清楚你要干嘛。
比喻下面的这样:
(3*5 6*2 7*3) ->(3 3 3 3 3 6 6 7 7 7)
((1 2 2)(2 5 1 4) (3 5)) -> (1 2 2 2 5 1 4 3 5)
(1 2 3 5 6 9 8 7 ) -> ((1 2 3) (5 6 9) (8 7 nil))
xiaocainiao
发表于 2024-9-4 21:07:02
Bao_lai 发表于 2024-9-4 21:02
你自己觉得说明白问题没,建议:原始数据 -> 目标数据,这样大家就很清楚你要干嘛。
比喻下面的这样:
(3 ...
谢谢提醒、下次注意、其实我最开始就类似这样问的、不过很多朋友不知道我用在哪、所以就重新编辑了问题
xyp1964
发表于 2024-9-4 23:39:31
(defun MkPline (pts mode)
(entmakex (append (list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length pts))
(cons 70 (if mode 1 0))
)
(mapcar '(lambda (x) (cons 10 x)) pts)
)
)
)