`
ipython
  • 浏览: 294534 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

lisp 小代码1

    博客分类:
  • lisp
阅读更多

common lisp是一种强大的语言。

 

日后在这里贴一些书上摘录或是自己写的一些小段代码.

 

(defun double (x)
  (+ x x ))

(defun ^ (&rest lst)
  (let ((sum (car lst)))
    (dolist (i (cdr lst))
      (setf sum (expt sum i)))
    sum))

(defun for-operation (fn &rest lst)
  (let ((lst (car lst)))
  (let ((sum (car lst)))
    (if (null lst) (setq sum 0))
    (dolist (i (cdr lst))
      (setq sum (funcall fn sum i)))
    sum)))

(defun my-plus (&rest lst)
  (for-operation #'+ lst))

(defun my-mil (&rest lst)
  (for-operation #'* lst))

(defun my-sub (&rest lst)
  (for-operation #'- lst))

(defun my-div (&rest lst)
  (for-operation #'/ lst))

(defun odd-obj (lst)
  (if (consp lst)
    (cons (car lst) (odd-obj (cdr (cdr lst))))
    nil))

(defun even-obj (lst)
  (if (consp (cdr lst)) 
    (cons (car (cdr lst)) (even-obj (cdr (cdr lst))))
    nil))

(setq double 4)
(print (double 3))          ;6
(print (double double))     ;8
(print (symbol-value 'double))  ;4
(print #'double)
(print (symbol-function 'double))

(print (odd-obj '(a b c d e f g h i j )))  ; A C E G I
(print (even-obj '(a b c d e f g h i j ))) ; B D F H J
(print (^ 2 3 4))  ; 4096  ( (2^3)^4  ; 2^3 == (expt 2 3) equal 8)
(print (my-plus 1 2 3 4 5 6)) 
(print (my-sub 1 2 3 4 5 6)) 
(print (my-mil 1 2 3 4 5 6)) 
(print (my-div 1 2 3 4 5 6)) 

; above write at 2011/6/8 23:16
 
分享到:
评论

相关推荐

    CAD-lisp.rar_CAD LiSp代码_CAD菜单lisp源码_cad lisp 源代码_cad 图层‘_lisp 块

    Lisp代码可以用于创建和管理图层,例如:创建新图层、改变图层颜色、线型、线宽,或者开关图层显示状态等。 - 通过这些源代码,用户可以实现快速切换图层,批量调整图层属性,甚至创建自定义的图层管理菜单,提升...

    LISP源代码简化程序

    1. **删除注释**:在LISP代码中,注释通常以`;;`开始,直到行尾。简化程序会将这些注释行完全移除,以减小代码的体积。 2. **去除换行符**:简化过程可能包括将多行代码合并为单行,通过去除不必要的换行符。这可以...

    cass扩展工具lisp源代码

    在二次开发过程中,需要注意的是,LISP代码的优化至关重要,因为测绘软件往往需要处理大量数据,性能问题不容忽视。同时,由于CASS软件更新迭代,开发者需要时刻关注软件的新版本和API变更,确保扩展工具的兼容性和...

    js.zip_lisp_lisp 源代码_lisp求数量_lisp源代码

    1. Js.lsp:这是一个Lisp源代码文件,很可能就是实现计算工程数量功能的程序。Lisp文件通常以.lsp或.cljs为扩展名,这里可能是为了表示它与JavaScript(js)有关联,尽管Lisp与JavaScript在语法上是不同的。 2. ...

    CAD LISP24个源代码

    LISP代码可能包含与CASS相关的功能,如读取CASS数据、自定义CASS命令或与其他CASS功能集成。 通过深入研究这个名为“mjtd_function_set”的压缩包,开发者不仅可以掌握LISP在CAD中的基本用法,还能了解到如何利用...

    AutoLisp示例代码

    AutoLisp代码会读取坐标点,然后在图纸上绘制对应的线段并标注坐标值,大大减少了手动标注的时间和工作量。 3. 露天坑边坡线自动标绘: 边坡线是露天矿设计的重要部分,它涉及到矿体的安全稳定性和开采效率。Auto...

    lisp 开发可参考的代码.rar

    "lisp 开发可参考的代码.rar"这个压缩包提供了一些关于LISP编程的实用示例,帮助开发者更好地理解和运用LISP。 1. 尺寸标注和坐标标注: 在LISP中,可以使用自定义函数来处理图形或几何对象的尺寸标注和坐标标注。...

    CAD二次开发LISP程序源码 90个源码代码

    "CAD二次开发LISP程序源码 90个源码代码"是一份珍贵的学习资源,包含了90个不同的LISP程序实例,可以帮助开发者深入理解和实践AutoLISP在AutoCAD环境中的应用。 AutoLISP是AutoCAD的内置编程语言,它是基于经典的...

    AutoLISP应用程序源代码.pdf

    AutoLISP 应用程序源代码分析 AutoLISP 是一种基于 Lisp programming 语言的编程语言,主要应用于 Autodesk 公司的 AutoCAD 软件中。它提供了强大的编程能力,允许用户自定义 AutoCAD 的行为和功能。 在给定的 ...

    AutoLISP-应用程序源代码.pdf

    AutoLISP应用程序源代码详解 AutoLISP是一种基于LISP编程语言的应用程序接口,主要用于与Autodesk AutoCAD等CAD软件集成,实现自动化处理和自定义功能。下面是对AutoLISP应用程序源代码的详细分析: 变量和函数 ...

    AutoCAD地质剖面结构面产状计算lisp代码

    在地质领域,AutoCAD LISP代码经常被用来自动化处理复杂的地质数据,如计算地质剖面上的结构面产状。本段代码是一个特定的例子,它实现了计算断层的视倾角,并在地质剖面图上绘制出相应的表示。 首先,用户需要输入...

    1000个小CAD二次开发LISP程序源码

    学习和利用这些源码,开发者不仅可以提升AutoCAD的使用效率,还能了解如何编写高效的LISP代码,提升自己的编程能力。同时,通过阅读和分析源码,可以学习到如何组织代码结构,如何处理错误,以及如何与AutoCAD的API...

    Lisp源码200例

    3. 测量两线夹角:这是几何计算的一个重要方面,Lisp代码可能使用向量代数和三角函数来实现这个功能。学习这些例子,你可以了解到如何在Lisp中进行空间坐标处理和几何运算。 4. 按给定比例建立尺寸标注样式程序:在...

    lisp源代码 贱人工具箱代码 cad二次开发

    cad的二次开发 关于贱人工具箱的代码 lisp的源代码 具体的内容 看课件 就是源代码的东西了 自己看就行了

    LISP源码800例.rar

    它包含了800个不同的LISP代码示例,涵盖了各种编程技巧和应用场景,是学习LISP语言的宝贵资料。 LISP的基本概念: 1. **S-表达式(S-Expression)**:LISP中的一切都是S-表达式,包括数据和程序。S-表达式可以是...

    lisp资料代码集

    lisp代码与实例 内有上千个代码程序,是初学者和相关人员查询和借鉴不错的选择,本资料都 是网上收集整理,如涉及个人利益请原谅。

    lisp程序含四个小程序

    本程序为lisp语言编写的AutoCAD二次开发程序,包括lisp源程序代码,dcl可视化窗口代码,程序测试图,以及程序中用到的插入图块文件和幻灯片文件。 本程序适合AutoCAD二次开发初学者学习之用,代码比较简单,所用函数...

    lisp源码_GetFilesV1-6.lsp_lisp插件源码_lisp插件源码_lisp源码_分享收集的lisp源码_

    自行研究学习。分享个早期搜集学习的lisp源码

    AutoLISP 编程.zip_autoLisp编程_autolisp_autolisp教程_lisp编程

    LISP(LISt Processing)语言以其独特的语法——使用括号表示结构和表达式——而闻名,它的设计哲学是使代码更接近于数据。 AutoLISP的教程通常会涵盖以下几个关键知识点: 1. **基本语法**:首先,你需要了解LISP...

    (带注释)收集整理超级有用的89个lisp源码.rar

    2. **LISP语法基础**:LISP代码以S-表达式(S-expression)的形式呈现,由原子(如数字、符号)和列表组成。列表可以表示函数调用、数据结构等。例如,`(function argument1 argument2)` 表示调用名为`function`的...

Global site tag (gtag.js) - Google Analytics