用lisp语言编写一个小程序
Lisp值得去学习吗?
Lisp值得去学习吗?
谢谢邀请!
首先要说Lisp 是否值得学习那么要先知道Lisp到底是什么?
LISP,全名LIST Processor,即链表处理语言是一种计算机程序设计语言。由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。其创作背景为:1958年夏,来自麻省理工学院的人工智能研究先驱——约翰·麦卡锡参与IBM资讯研究部的工作,研究符号运算及应用需求。但当时IBM旗下的Fortran不要处理语言不能支援符号运算的递归、条件表达式、动态储存分配及隐式回收等功能。于是在1958年秋回到麻省理工学院后,开展研发了表处理语言——LISP。
约翰·麦卡锡
LISP为函数式程序设计语言,所有运算都能以函数中用于参数的方式来实现。它的核心操作符只有七个操作符,这种简洁的定义,非常接近图灵机原型的纯函数式语言,是现代语言完全无法比拟的。相对其优点而言它的缺点也很明显——其运算效率十分低下。原始定义简洁的缺点使得大型开发工程变得困难。自底层到高层,自二维表查询到面向对象,使用者需要嵌入更多的函数来实现,致使LIPS众多方言的衍生。
所以综上所述,我认为,具体情况具体分析,合适的才是最好的。
cad怎么通过lisp语言对带文字的数字统计求和?
专门写了一个程序autolisp程序,如果要分析文字内容的话,需要具体的dwg文件及说明。程序代码如下:命令【TES】自己修改命令。
(defun c:tes ( / #g1 k1 kw1 tr1 @n1 @n5) (setvar cmdecho 0) (setvar blipmode 0) (setvar dimzin 0) (if (null vlax-dump-object) (vl-load-com) ) (princ
请选择要加倍数值的文字) (if (setq kw1 (ssget ((0 . text,mtext) (1 . ~*[~ -.0-9]* ))) );选择纯数值文字 (progn (while (setq k1 (ssname kw1 0)) (setq kw1 (ssdel k1 kw1)) (setq #g1 (entget k1)) (setq tr1 (cdr (assoc 1 #g1)) @n5 (strlen tr1)) (if (setq @n1 (vl-string-search . tr1 0)) (setq @n1 (- @n5 @n1 1)) (setq @n1 0) ) (setq tr1 (rtos (* 2 (atof tr1)) 2 @n1)) (setq #g1 (subst (cons 1 tr1) (assoc 1 #g1) #g1)) (entmod #g1) ) ) ) (princ))