文档章节

如何查看 Common Lisp 的标准函数(这么叫不太准确,规范的名称似乎是操作符 Symb...

FreeBlues
 FreeBlues
发布于 2013/01/26 05:18
字数 551
阅读 444
收藏 2

如何查看 Common Lisp 的标准函数(这么叫不太准确,规范的名称似乎是操作符 Symbol )

对于初学者来说,学习使用 Lisp 有一点很不习惯的地方就是不知道怎么查帮助,比如想了解下 Lisp 有哪些自带的函数(C-c C-d h 调用了 slime-hyperspec-lookup ),后来终于慢慢知道怎么查了,发现查起来不太方便,还需要联网。

其实只要把 HyperSpec 文档下载回来,解压后直接用浏览器打开就可以查了,这个文档本身就提供好几种索引方式,查起来很方便。

HyperSpec 由 LispWorks 维护 www.lispworks.com

HTML版本在这里: http://www.lispworks.com/documentation/common-lisp.html 

下载包在这里:downloaded

如果你已经把 HyperSpec 文档包下载回来了,不想每次查询都要继续通过网络,那怎么办呢?

办法也很简单,打开 slime 的目录,找到里面这个文件 hyperspec.el 修改其中的第4行代码,原来的代码如下:

(defvar common-lisp-hyperspec-root
  "http://www.lispworks.com/reference/HyperSpec/"
  "The root of the Common Lisp HyperSpec URL.
If you copy the HyperSpec to your local system, set this variable to
something like \"file:/usr/local/doc/HyperSpec/\".")
只要修改成你当前存放 HyperSpec 的目录即可,假设你把 HyperSpec 解压到这里 "/usr/local/doc/HyperSpec/ " 具体修改如下:
(defvar common-lisp-hyperspec-root "file:/usr/local/doc/HyperSpec/"
  "http://www.lispworks.com/reference/HyperSpec/"
  "The root of the Common Lisp HyperSpec URL.
If you copy the HyperSpec to your local system, set this variable to
something like \"file:/usr/local/doc/HyperSpec/\".")

这样就一切 OK 了。--OK?   --NOK!

刚才试验了一下,才发现直接这样设置是行不通的,需要这样设置:

(defvar common-lisp-hyperspec-root 
  "http://www.lispworks.com/reference/HyperSpec/"
  "The root of the Common Lisp HyperSpec URL.
If you copy the HyperSpec to your local system, set this variable to
something like \"file:/usr/local/doc/HyperSpec/\".")

(setf common-lisp-hyperspec-root "file:/usr/local/doc/HyperSpec/")

这样设置就OK了,执行查询使用 C-c C-d h ,就会直接用浏览器来打开你存储在本地的 HyperSpec 页面。

如果你的 Emacs 安装了 W3M,就直接在 Emacs 里打开了。

BTW,真是不看不知道,一看吓一跳,Common Lisp 居然有978个扩展操作符......


© 著作权归作者所有

共有 人打赏支持
FreeBlues
粉丝 98
博文 280
码字总数 493678
作品 0
其它
程序员
私信 提问
在NewLisp中实现匿名函数的递归

匿名函数在很多语言中的表现形式大概如下: (lambda (n) (* (+ n 1) (- n 1))) 只有参数列表和函数体,而没有名字。在大部分情况下没问题,但是一旦需要用到递归的话,就有点麻烦了,因为不知...

句龙胤
2015/06/20
0
1
Common Lisp 和 Scheme 的函数命名空间不同

最近在 <> 看到 Common Lisp 和 Scheme 的不同: 1. 在Common Lisp眼中,一个符号的symbol-value和symbol-function是不一样的,而Scheme 对两者不作区分。在Scheme里面,变量只有唯一对应的值...

沙枣
2013/08/18
1K
4
为什么我喜欢 Lisp 语言

本文是从 Why I love Lisp 这篇文章翻译而来。 这篇文章是我在Simplificator——我工作的地方——的一次座谈内容的摘录,座谈的题目叫做“为什么我喜欢Smalltalk语言和Lisp语言”。在此之前,...

红薯
2011/10/14
4.3K
26
Common Lisp 初学者快速入门指导

Common Lisp 初学者快速入门指导 V 0.90 目录 一、简单介绍 1、本文目标 2、适用读者 3、迭代式学习* 4、本章内容小结 二、快速上手 1、推荐开发环境 Lispbox 2、开发环境简要介绍 3、第一个...

FreeBlues
2013/05/17
0
21
Lisp-Stat 翻译 —— 第一章 简介

第一章 简介 1.1 统计计算环境 以前,统计计算主要集中于数值计算。那时的计算机运行速度慢,为了获得合理的性能,人们不得不在一个相对较低水平上细心地编写程序。结果,为了效率,大多数早...

烟波
2014/03/05
0
2

没有更多内容

加载失败,请刷新页面

加载更多

数据库技术-Mysql主从复制与数据备份

数据库技术-Mysql 主从复制的原理: MySQL中数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”...

须臾之余
昨天
12
0
Git远程仓库——GitHub的使用(一)

Git远程仓库——GitHub的使用(一) 一 、 Git远程仓库 由于你的本地仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要一下设置: 步骤一、 创建SSH key 在用户主目录下,看看有没有.ss...

lwenhao
昨天
2
0
SpringBoot 整合

springBoot 整合模板引擎 SpringBoot 整合Mybatis SpringBoot 整合redis SpringBoot 整合定时任务 SpringBoot 整合拦截器...

细节探索者
昨天
0
0
第二个JAVA应用

第二个JAVA应用 方法一:配置文件: # cd /usr/local/tomcat/conf/# vim server.xml</Host> <Host name="www.wangzb.cc" appBase="/data/wwwroot/www.wangzb.cc" //引用所......

wzb88
昨天
0
0
2019年阿里Java面试必问:JVM与性能优化+Redis+设计模式+分布式

前言 一年之计在于春 金三银四已经要到来,2019的新的开始,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度? 面试:如果不准备充分的面试,完全是浪费时间,更是对...

火力全開
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部