明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3301|回复: 20

求助,关于变量赋值的问题

  [复制链接]
发表于 2004-5-11 22:18:00 | 显示全部楼层 |阅读模式
已知


表1                         ("a" "b" "c" "d" "e")


表2                         (1        2        3        4 5)


有没有一个函数可以将表2中的值一一对应地赋值给a b c d e?


多谢!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-5-11 22:50:00 | 显示全部楼层
做一个 (defun assign (lst1 lst2)
(foreach atm lst1
(set (read atm) (car lst2))
(setq lst2 (cdr lst2))
)
)
发表于 2004-5-11 22:52:00 | 显示全部楼层
dispbbs.asp?boardID=3&ID=20236&page=1 (mapcar 'set (mapcar 'read list1) list2) 通过以上两个例子,你是否应该好好琢磨一下mapcar的用法
 楼主| 发表于 2004-5-12 21:49:00 | 显示全部楼层
(setq var-list1 (list "kn" "h" "l1" "b1" "t1" "s1" "l2" "b2" "t2" "l3" "b3" "t3" "e" "d" "m" ))
(setq var-list (mapcar '(lambda (x) (strcat "sl-" x))
var-list1
)
) (mapcar 'action_tile var-list "(set (mapcar 'read var-list1) (read $value))") var-list 是dcl控键的key值的list,如果要每个都写action_tile语句的话那将很麻烦,可我像上面那样写又不行,飞哥帮忙看看!
发表于 2004-5-12 22:11:00 | 显示全部楼层
看看第一个mapcar函数的第三个参数,"(set (mapcar 'read var-list1) (read $value))",mapcar后面的参数都应该是表,你为什么给一个字符串?


还有set函数,后面的mapcar返回的必定是表,set后面能跟表参数吗?你这个写法错误太多,还没有熟练运用mapcar函数,不过你的这个想法很好,我试试先
 楼主| 发表于 2004-5-12 22:17:00 | 显示全部楼层
飞哥,如果可行的话,这种做法就很值得关注,不然就很麻烦
发表于 2004-5-12 22:24:00 | 显示全部楼层
(mapcar 'action_tile var-list1         (mapcar '(lambda(e) (strcat "(setq " e " (read $value))")) var-list))
 楼主| 发表于 2004-5-12 22:30:00 | 显示全部楼层
我也想过用lambda,但转来转去转胡涂了,谢谢飞哥啊……
 楼主| 发表于 2004-5-13 18:35:00 | 显示全部楼层
飞哥,我试过了,程序启动时,改行运行,但再要是修改编辑框的话,它并没有执行ACTION_TILE语句,不知怎么回事,请赐教……
发表于 2004-5-13 18:48:00 | 显示全部楼层
程序内容呢?


我自己写的测试程序是可以的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 10:35 , Processed in 0.203598 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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