明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3276|回复: 11

append 函数的疑问

  [复制链接]
发表于 2012-11-17 22:29:23 | 显示全部楼层 |阅读模式
测试程序
(defun c:tt ( /  LSTS list-foreach-name)
     (setq list-foreach-name nil)
     (foreach LSTS  '("1,天津市滨海新区汉沽长城有色金属制品厂" "166,徐秀国")
         (setq list-foreach-name  (append  list-foreach-name (list (read (strcat "(" (vl-string-subst  " . " "," LSTS) ")")))))
     )
   list-foreach-name
)
为什么返回值是 ((1 . 天津市滨海新区汉沽长城有色金属制品厂) (166 . 天津市滨海新区汉沽长城有色金属制品厂)) 而非 ((1 . 天津市滨海新区汉沽长城有色金属制品厂) (166 . 徐秀国))
求解
发表于 2012-11-18 00:43:26 | 显示全部楼层
难道是BUG?好像其他文字都可以获得正确结果。难道是人品?
偶新手,回答不了你的问题。
 楼主| 发表于 2012-11-18 01:37:48 | 显示全部楼层
append 可能累了吧
发表于 2012-11-18 13:06:48 | 显示全部楼层
楼主,天津人吗?
可以加个好友吗?qq:53124174
发表于 2012-11-18 19:06:06 | 显示全部楼层
在2004下逐渐增加字串“天津市滨海新区汉沽长城有色金属制品厂”的长度,到增加最后一个“厂”字时才出错。经逐步运行程序,发现是read函数出错。不知是BUG还是版本问题。
 楼主| 发表于 2012-11-19 00:07:19 | 显示全部楼层
谢 ZZXXQQ  解释
 楼主| 发表于 2012-11-19 00:08:12 | 显示全部楼层
ZZXXQQ 发表于 2012-11-18 19:06
在2004下逐渐增加字串“天津市滨海新区汉沽长城有色金属制品厂”的长度,到增加最后一个“厂”字时才出错。 ...

谢 ZZXXQQ 解释
发表于 2012-11-19 08:33:40 | 显示全部楼层
这是修改的程序,有点不同哦。
  1. (defun c:tt ( / x i)
  2. (mapcar
  3.   '(lambda (x) (setq i (vl-string-position (ascii ",") x)) (cons (read (substr x 1 i)) (substr x (+ i 2))))
  4.   '("1,天津市滨海新区汉沽长城有色金属制品厂" "166,徐秀国")
  5. )
  6. )
发表于 2012-11-19 08:59:49 | 显示全部楼层
在我的电脑上运行没有问题呀
发表于 2012-11-19 09:19:05 | 显示全部楼层
AUTOCAD 2011 下测试 O.K.
指令: (defun c:tt ( /  LSTS list-foreach-name)
(_>      (setq list-foreach-name nil)
(_>      (foreach LSTS  '("1,天津市滨海新区汉沽长城有色金属制品厂" "166,徐秀国")
((_>          (setq list-foreach-name  (append  list-foreach-name (list (read
(strcat "(" (vl-string-subst  " . " "," LSTS) ")")))))
((_>      )
(_>    list-foreach-name
(_> )
C:TT

指令: TT
((1 . 天津市滨海新区汉沽长城有色金属制品厂) (166 . 徐秀国))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 03:27 , Processed in 0.164978 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表