lisp语言和c语言比较,这几天写Lisp遇到的比较纠结的问题。
这几天写Lisp遇到的比较纠结的问题。
(2016-11-29 15:41:52)
刚来工作的时候稍微接触了一下Lisp,那时候只知道Commad之类的命令,后来由于自己要画图层,便写了一个简单的Lisp,主要是在CAD里面画图层,虽然还是用的Command命令。
又经过一段时间,发现用Command写Lisp的程序局限性很大,
而且出现诸多不明所以的问题,于是下决心自己研究Lisp。初学使用了《CAD二次开发Visual-LISP指南》这本书,讲解的很是详细,对我学习Lisp有很大的帮助。期间还读过张帆所著《ObjectARX开发实例教程》,这本书跟C语言有很大的关系,由于之前接触的一直是C语言大类(C,C++,PHP),我甚至有过放弃Lisp转而用C语言的冲动。
后面慢慢的对Lisp语言产生了兴趣,也拜读了Lisp发明者麦卡锡的大作《Lisp之根源》,从而对Lisp的基本语法有了更深的了解,促使我下决心不用C语言只用Lisp来写CAD相关程序。
Lisp较C而言句法比较单一,表处理的功能很强大,但是算术运算较C麻烦许多,运算种类也没有C语言丰富。
我学Lisp遇到的问题:
1.初次不会调试代码,摸清Lisp编辑器花了一段时间,后来才发现这些在《CAD二次开发Visual-LISP指南》这本书里面讲解的颇为详细,怪自己当时阅读不认真。
2.progn的括号困扰了我一段时间,progn的子语句不需要括起来的,类似的还有Repeat While And
Or,Cond语句比较特殊。
3.ssget选择集函数其实很简单,当时弄懂也花了一些时间。
4.dxf组码对CAD文件来说是比较重要的内容,也花了一些精力去学习。
5.Vlisp操作VBS是更强大的功能,我还学习了invoke方法,了解到vlax-invoke和vlax-invoke-method的区别。
不过Vlisp不能通过vlax-get-object获得WScript根对象。
6.为了压缩Lisp程序,恶补了一下正则表达式的内容,为了写删掉注释的正则,花了我不少时间(有2到3天)。
7.vlax-safearray-get-element这个函数的参数需要预处理,不过我对Lisp的数组更加清晰了。
8.比较难的反应器,通过调试别人的代码已经掌握了不少,现在已经会一些基本的了。
9.vla-get-activespace和vla-get-modelspace的返回值类型是不一样的。
10.对于属性块里的文字,使用vla-put-alignment对齐还是有些问题。
以上暂时就这么多了,还有些小问题暂且不表。下次记起来或者有新问题再进行补充吧。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文

发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
更多推荐
所有评论(0)