找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1386|回复: 8

[求助] [求助]:问一个简单的问题:AUTOLISP单引号是做什么用的?各位能说清楚点吗?

[复制链接]
发表于 2004-4-20 10:19:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
各位能否介绍在AUTOLISP单引号是做什么用的能说清楚点吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-20 12:49:28 | 显示全部楼层
禁止求值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-20 15:59:05 | 显示全部楼层
能说清楚点吗或举个例
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-20 16:20:04 | 显示全部楼层
最初由 xxming 发布
[B]能说清楚点吗或举个例 [/B]


LISP执行的时候,对每个括号对进行求值,括号里面的第一个元素当成“函数名”,其他的元素当成这个函数的参数。括号可以递归,就是一个子括号对求值后的值,可以做为上层括号对里面的“参数”,上层括号对根据第一个函数名继续求值,这样递归下去,一个复杂的带多个子括号对的“大括号”最终就求出结果了。

所以,如果你不希望“括号对”进行求值(就是不希望把第一个元素作为函数,其他元素做参数求值)的话,你就必须在这个“括号对”前面加上单引号 ' ,这样LISP会把这个“括号对”当作上层括号里面的一个参数了。

比如点 (1.0 2.0 0.0),如果你直接在LISP表达式里面用它,而不是通过变量,那么你必须在它的前面加单引号,比如:

(command "._line"  '(1.0 2.0 0.0) '(3.0 4.0 0.0))

如果不加单引号,那么(1.0 2.0 0.0)中的1.0就会被当成函数对其余元素求值,肯定要提示你错误了。

如果你把它们赋值成变量,就不用了,比如:

(setq p1 '(1.0 2.0 0.0) )
(setq p2 '(3.0 4.0 0.0))
(command "._line"  p1 p2)

需要记住一点,LISP表达式里面,LISP解释器在求值的时候,看见左括号,就把左括号后面的第一个元素当成函数,后面的元素(包括后面的子括号,子括号根据上面说的,求值后当成本级括号对第一个元素的参数)当成函数参数进行计算。

很好理解的,可能我说的太复杂了,嘴笨 ;)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-4-20 17:34:40 | 显示全部楼层
R14联机帮助这样说:
  1. [B]quote
  2. [color=blue]返回一个表达式而不对它求值[/color]
  3. (quote expr)[/B]
  4. 这也可以写成:
  5.    'expr
  6.    (quote a)                        返回 A
  7.    (quote cat)                        返回 CAT
  8.    (quote (a b))                        返回 (A B)
  9.    'a                                返回 A
  10.    'cat                                返回 CAT
  11.    '(a b)                        返回 (A B)

  12. 不能直接从键盘上输入上述最后三个表达式来响应 AutoCAD 的提示,应记住,这样的输入
  13. 必须用字符 "(" 或 "!" 打头,AutoLISP 才会认为它们是表达式。
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-20 20:18:29 | 显示全部楼层
东哥高手就是高手连这个问题也能说得那么清楚,嗨东哥你是怎么学习AUTOLISP编程能给个学习的经验吗,(给我们这些初学者)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-20 21:26:35 | 显示全部楼层
最初由 xxming 发布
[B]东哥高手就是高手连这个问题也能说得那么清楚,嗨东哥你是怎么学习AUTOLISP编程能给个学习的经验吗,(给我们这些初学者) [/B]


10年后,你也会这样的。

多看程序,多写东西,不怕错,错的越多越好,然后去解决它,你遇到的错多了,解决了,水平就提高了。

以前我学习的时候,没有人请教,现在你不一样了,珍惜这里,有问题来和大家讨论,遇到别人的问题,知道的,把你的经验说出来,不太了解的,把自己的理解说出来,不怕错,错了就改,改了再错,再错再改,千锤百炼。

在交流中成长。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-20 22:30:39 | 显示全部楼层
说的好!完全可以作为一个编程人员或编程爱好者的座右铭。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-6-19 23:53:00 | 显示全部楼层
学习了 谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-23 12:27 , Processed in 0.217285 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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