明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1555|回复: 6

刚接触AutoLisp 请教遇到的两个基础问题!

[复制链接]
发表于 2011-10-29 16:43 | 显示全部楼层 |阅读模式



1、defun函数
例如:
defun a ()
defun a (a b c)
defun a (/ a b c)
这三种表达方式有什么区别?

2、princ函数
例如:
(prompt "请输入a的值:")
(setq a (getreal))
(princ a)

我希望程序执行完后显示a的值
但是(princ a)命令总是给出两个重复的a值
例如输入的值是1则结尾是11

请大大不吝赐教!







发表于 2011-10-29 17:05 | 显示全部楼层
问题2,在最后加一句  (princ)  就行了. 第一个a值是你的 (princ a),第二个a是你当前这个函数的返回值.函数返回的是最后一句代码的返回值,所以在最后加上一句(princ)就行了.

至于第一个问题.defun a () 这个是指不带任何参数的定义了a 这个函数.
defun a (a b c)
这个我记不清了.貌似是指函数a的形参(自己查一下相关资料吧.)
defun a (/ a b c)
这个指定义了函数a ,  (/ a b c) 括号里的a,b,c是函数的变量.不过貌似这样定义是不太合理的.变量名称和函数同名了.
发表于 2011-10-30 01:51 | 显示全部楼层
defun a (/ b c)局部变量
 楼主| 发表于 2011-10-30 14:45 | 显示全部楼层
EMD 发表于 2011-10-29 17:05
问题2,在最后加一句  (princ)  就行了. 第一个a值是你的 (princ a),第二个a是你当前这个函数的返回值.函数返 ...

谢谢你!
第二个问题 如果加(princ)就不会返回任何值
如果我希望最后返回程序中任意一变量的值该使用什么命令?

能否推荐一些你所用的资料 最好是网上下载的 比较基础的适合新学者的? 不胜感激!
 楼主| 发表于 2011-10-30 14:47 | 显示全部楼层
VBALISPER 发表于 2011-10-30 01:51
defun a (/ b c)局部变量

能否细说【局部变量】和 defun a (b c) 这样表示的变量具体有什么不同吗?
发表于 2011-10-30 23:48 | 显示全部楼层
局部变量仅在该过程中有效,全局变量好象可以跨函数和过程.怎么老是问,找百度老师嘛
 楼主| 发表于 2011-10-31 08:50 | 显示全部楼层
VBALISPER 发表于 2011-10-30 23:48
局部变量仅在该过程中有效,全局变量好象可以跨函数和过程.怎么老是问,找百度老师嘛

谢谢! 明白了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 17:03 , Processed in 0.292303 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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