明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2785|回复: 8

assoc函数第一个参数可否用变量实现????

[复制链接]
发表于 2003-1-17 15:09:00 | 显示全部楼层 |阅读模式
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-1-17 15:32:00 | 显示全部楼层

可以

我做了实验,如下:
(setq el (entget (car (entsel))))

Select object: ((-1 . <Entity name: 40036d90>) (0 . "LINE") (330 . <Entity
name: 40036cf8>) (5 . "52") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"0") (100 . "AcDbLine") (10 5.14077 5.61304 0.0) (11 17.7827 10.2074 0.0) (210
0.0 0.0 1.0))

Command: (setq a 10)
10

Command: (setq p1 (cdr (assoc a el)))
(5.14077 5.61304 0.0)
 楼主| 发表于 2003-1-17 15:59:00 | 显示全部楼层

如果是字符串呢?

如果是字符串呢?
发表于 2003-1-17 16:14:00 | 显示全部楼层

字符串??沒有問題!!

指令: (setq ss (list (cons 123 "sdaf")(cons "qwe" "123")))
((123 . "sdaf") ("qwe" . "123"))

指令: (assoc "qwe" ss)
("qwe" . "123")
 楼主| 发表于 2003-1-17 16:20:00 | 显示全部楼层

我说的是用字符串变量操作

发表于 2003-1-17 16:37:00 | 显示全部楼层

不明白了,真的????????????????????

 楼主| 发表于 2003-1-17 17:16:00 | 显示全部楼层

就是关联表的关键元素为字符串...

如:
(setq ss '(("a1" 10 20) ("a2" 20 21) ("a3" 45 27)))
(setq r "a1")
我想这样使用
***(setq rs (assoc r ss))***
发表于 2003-1-20 10:18:00 | 显示全部楼层

哎,用你给出的例子在CAD中试一下不就行了。我是出的结果为rs=("a1" 10 20),说明

哎,用你给出的例子在CAD中试一下不就行了。我是出的结果为rs=("a1" 10 20),说明可以。[br]
发表于 2018-1-24 13:51:28 | 显示全部楼层
今天碰到相同的问题,可以解决的 (setq r  ‘())     (setq r (cons  "a1") r)     (assoc   (car r) ss)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 18:47 , Processed in 0.180815 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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