`
iyuan
  • 浏览: 471825 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

lisp初体验-Practical Common Lisp笔记-2.Hello,World!

    博客分类:
  • lisp
阅读更多
在真正踏入lisp的世界前,如同选择lisp的分支一样,既然你选择了Common Lisp,那么,再劳驾选择下编译器吧~

官方似乎比较强力的推荐Emacs,说法是:编辑、编译一体化。不过鉴于其整体构建于Elisp分支之上,并且对这款"神用的编辑器"着实有些怵(好吧,我承认我用vi~),还是选用了另一款看起来更新还算靠谱的编译器:SBCL

呼呼~作为一篇读书笔记真是太爽了,这里有一大段"为什么玩个lisp都这么麻烦"的解释\介绍,在这就可以一笔带过了:它没有被任何人或组织所控制,so,freedom!

话不多说,先安装上SBCL(大部分os都支持哦)。
进入环境后,应该是个星号:
*
(教程中是"CL-USER>")

理论上就算环境ok了,不过简单验证下总没有坏处:
*10(输入)
10(展示结果)

*(+ 1 2)(输入)
3(展示结果)

如果一致,那么就可以算环境搭建完成了。至于为神马加法会是那么个样子,暂且按下不表(书上这也莫有解释啊)

下面就要上正菜了,算是任何语言都会有的经典入门案例:Hello World!
*"Hello World"
Hello World

额,虽然有点失望,不过,恭喜,你已经一只脚入门了!
如果对于纯字符串你有些失望的话,那么格式化下:
*(format t "Hello World")
Hello World(输出值)
NIL(返回值,类似于None,NULL,False等)

定义下函数:
*(defun hello-world () (format t "hello, world"))
HELLO-WORLD
lisp中的"-"也是可以用的,就是普通的字符。
试试你定义的函数可用否:
*(hello-world)
Hello World
NIL
有没有看明白?这里只是将前面的format包装成了一个函数,然后调用函数名就可以了。
Ok,好歹算是人生第一个lisp模块了,的确有必要珍藏下:把这段代码存入文本中,命名为hello.lisp
当当当。。。
新鲜出炉的模块,快来用啊~
重启下SBCL的shell,
*(hello-world)
恩,一堆报错,有过编码经验的估计早就看出来了,“不引入你就要用了么?”
好的,引入:
*(load "hello.lisp") #这里最好是全路径,win下比如:e:/lisp/hello.lisp
T                    #表示引入Ok了
然后,
*(hello-world)
Hello, world!
NIL
与调用新鲜出炉的函数一样,不错吧。在lisp中还有一种编译模式:
*(load (compile-file "hello.lisp"))
T
这样会生成一个hello.fasl文件,与.lisp文件一样的用,效果么:在某些情况下是有提速效果的。

至此,Hello World!已经结束!或者,才开始!

(未完待续)

0
0
分享到:
评论

相关推荐

    Practical Common Lisp-1st-2005

    《Practical Common Lisp-1st-2005》是一本专注于Common Lisp编程语言的实用书籍,作者Peter Seibel通过这本书向读者展示了如何使用Common Lisp来解决真实世界中的问题,强调程序员作为工程师和艺术家的双重身份,而...

    common-lisp-the-language-second-edition.PDF

    common-lisp-the-language-second-edition.PDF

    Lisp - 1990 - Common Lisp the Language, 2nd Edition - Steele, Guy L..pdf

    《Common Lisp the Language, 2nd Edition》是Guy L. Steele所著的一本关于Common Lisp编程语言的权威指南,作为第二版,它不仅继承了前一版的经典,还对Lisp语言进行了深入的扩展和更新。这本书是Lisp爱好者的宝贵...

    Practical Common Lisp笔记

    《Practical Common Lisp笔记》是一本深入探讨Common Lisp编程语言的实用教程。Common Lisp是一种功能强大的多范式编程语言,以其动态类型、宏系统和丰富的内置数据结构而闻名。这篇笔记详细记录了作者在学习过程中...

    cad-lisp-3-表操作.LSP.lsp

    cad-lisp-3-表操作.LSP.lsp

    emacs-lisp-intro-2.04.tar.gz

    2. **示例代码**:提供一些Emacs Lisp的示例,展示如何实现Python开发中的常见任务,如语法高亮、自动补全、错误检查等。 3. **配置文件**:可能包含预设好的Emacs配置,可以直接导入以优化Python开发环境。 4. **宏...

    实用Common.Lisp编程.pdf

    标题:“实用Common.Lisp编程.pdf” 描述:“实用Common.Lisp编程.pdf,2011.10出版” 从这些信息中,我们可以提炼出几个关键的知识点: ### Common Lisp语言简介 Common Lisp是一种高级的、通用的、多范式的编程...

    Practical Common Lisp pdf

    在压缩文件中,只有一个名为"practical_common_lisp.pdf"的文件,这是本书的PDF版本。由于原版PDF文件较大,经过7z压缩后,文件大小显著减小,便于下载和存储,但同时也能保持较好的图像和文字质量,满足读者的阅读...

    Successful Lisp How to Understand and Use Common Lisp - David B. Lamkins

    Provides practical advice for the construction of Common Lisp programs. Shows examples of how Common Lisp is best used. Illustrates and compares features of the most popular Common Lisp systems on ...

    AutoLisp源文件--标注高程.LSP

    AutoLisp源文件--标注高程.LSP

    ANSI Common Lisp 中文翻译版.pdf

    ANSI Common Lisp 中文翻译版.pdf 此资源是 ANSI Common Lisp 的中文翻译版,涵盖了 Common Lisp 语言的基础知识和高级主题。该资源包含了 17 章节,从基础的列表、特殊数据结构、控制流程、函数、输入与输出、符号...

    实用Common.Lisp编程

    这本《Practical Common Lisp》之所以号称Practical,正是因为这本书大量介绍Common Lisp在现实世界中的各种应用方式,算是第一本「入世传教」的Common Lisp著作。《Practical Common Lisp》是目前最畅销的Common ...

    Practical Common Lisp

    Practical Common Lisp 学习lisp的入门书籍

    Practical Common LISP(Apress,2012)

    If you’re interested in Lisp as it relates to Python or Perl, and want to learn through doing rather than watching, Practical Common Lisp is an excellent entry point. — Chris McAvoy, Chicago Python ...

    practical common lisp.pdf

    ### 实用Common Lisp编程知识点概览 #### 一、书籍简介与评价 《实用Common Lisp》是一本面向实际程序员的Lisp语言入门书籍。作者Peter Seibel通过一系列真实世界的问题来展示Common Lisp的强大之处,强调工程性和...

    Common-Lisp-Actors, 通用Lisp的actor系统.zip

    Common-Lisp-Actors, 通用Lisp的actor系统 这是一个简单且易于使用的Actor系统,在。设置需要波尔多螺纹。http://common-lisp.net/project/bordeaux-threads/ 2. 加载 actors.lisp 并开始使用它。 如果你有 Quick

    lisp小工具-fx.zip

    计算多个数字之和、计算多条线段长度之和、插入墙高标注、查询多段线顶点坐标并绘制、自动生成页码、绘制示坡线、插入排水箭头 https://blog.csdn.net/qq_24141055/article/details/121446354

    Lisp-music-player.rar_autolisp_autolisp程序_lisp_player

    2. **Autolisp**:AutoCAD的内置脚本语言,用于自动化绘图和设计任务。 3. **音乐播放器开发**:包括音频文件处理、播放控制、可能的UI设计等。 4. **RAR压缩格式**:文件打包和传输的标准格式。 5. **VLX文件**:...

    lisp解密程序-适用于早期的Lisp程序

    2. **代码还原**:加密的Lisp代码可能会使用各种技巧来混淆原始逻辑,如替换函数名、颠倒指令顺序、嵌入随机数据等。解密程序需要能够识别并恢复这些混淆的代码到可执行的形式。 3. **解密算法**:解密过程可能涉及...

Global site tag (gtag.js) - Google Analytics