快速业务通道

使用Cusp Eclipse插件开发Lisp应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
p应用程序(3) 时间:2010-12-05 IBM Tyler Anderson

查看 Lisp 透视图。Lisp Navigator 窗口显示打开的项目及其相关文件。 Outline 窗口显示当前打开文件的概要。位于右上侧显示 main.lisp 的窗口是 Lisp 开发窗口。位于右下侧的窗口 REPL 是 Lisp 的命令行 Lisp 解析程序, 您可以在这里运行 Lisp 命令。

如果关闭并重新打开 Eclipse,则需要装入项目的 .asd 文件,如下所示:

图 7. 装入 ASD 文件

使用Cusp Eclipse插件开发Lisp应用程序 - 编程入门网

注意,需要在 my_new_lisp_project 文件夹下的 my_new_lisp_project.asd 文件上右键单击,然后选择 Load asd。这实际上就是在 REPL 窗口中编译 Lisp 项目,允许您输入可以使用新代码的 Lisp 命令。

接下来,将尝试使用 Cusp 进行一些 Lisp 开发。

使用 Cusp 进行 Lisp 开发

首先,还是定义并测试一个简单的自定义函数。打开 main.lisp 文件,并使 用 defun(定义函数)命令,然后添加以下内容:

... (defun first_howdy_function ()   "howdy ho")

保存该文件。要从包中导出函数,请在 defpackage.lisp 中键入以下代码:

...   ;; Exported symbols go here   first_howdy_function   ))

可以从包的外部使用该函数。要测试新函数,请在 REPL 中位置靠下的窗口 中键入以下代码:(my_new_lisp_project:first_howdy_function)。

注意,在您所处的范围内,这样做与输入 (my_new_lisp_project::first_howdy_function) 等效。如果未在 defpackage.lisp 中导出函数,则这是您必须键入的代码。

单击 Send,然后查看输出。输入上面任意一条命令所得到的输出都是:

COMMON-LISP-USER> (my_new_lisp_project:first_howdy_function) "howdy ho"

您已经得到它了:第一个 Lisp Howdy 函数。

尝试为 echo 函数提供一个输入:

... (defun first_echo_function (echoval)   echoval)

同上一个函数一样,将其导出到 defpackage.lisp 中。在 REPL 窗口中位置 靠下的部分中键入以下代码 (my_new_lisp_project:first_echo_function ''("howd" "y h" "o")) 来测试这个 first_echo_function。注意,''("howd" "y h" "o") 部分是用于定义列表的语法。首先,单引号必须放在括号之前,然后在 括号内定义列表元素。输出如下所示:

COMMON-LISP-USER> (my_new_lisp_project:first_echo_function ''("howd" "y h" "o")) ("howd" "y h" "o")

您将创建一种分别处理每个列表元素的方法,这是 Lisp 的真正强大之处。 定义如下:

(defmethod concat2 ((str1 string) (str2 string))   (concatenate ''string str1 str2))

注意,以上方法实际上定义了一个类型字符串。到现在为止,您一直在使用 Lisp 作为一种大型的无类型语言。虽然双引号隐式地把数据类型定义为字符串 ,但是以上方法显式地把 concat2 函数的输入和输出类型定义为字符串。此方 法还使用内置的 concatenate 函数把两个字符串组合在一起,并将其作为单个 字符串返回。

要测试 concat2,请将其导出,然后键入 (my_new_lisp_project:concat2 "howd" "y ho")。输出如下:

清单 7. 连接两个字符串的输出

COMMON-LISP-USER> (my_new_lisp_project:concat2 "howd" "y ho") "howdy ho"

完成。字符串 "howd" 和 "y ho" 变成 "howdy ho"。现在您将使用两个著名 的 Lisp car 和 cdr 函数创建更通用化的 concatenation 函数。

使用Cusp Eclipse插件开发Lisp应用程序(4)

时间:2010-12-05 IBM Tyler Anderson

清单 1. 连接列表中的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号