首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习Elisp -阅读源代码的最高质量库是什么?

学习Elisp -阅读源代码的最高质量库是什么?
EN

Stack Overflow用户
提问于 2011-03-12 15:22:30
回答 2查看 1.1K关注 0票数 16

在学习一种新的编程语言时,“读取源代码”是专家们的一个常见建议。然而,有了像emacs这样庞大的系统,许多人在几十年前就建立了这样的系统,对于初学者来说,找出哪些库是惯用Elisp编程的最好例子并不容易。因此,我想就以下准则提出一些建议:

使用emacs编程style

  • adherence guidelines

  • clever按照emacs guidelines

  • clever使用eieio-package

  • exemplary组织单个.el文件组织多文件/多包库

  • 您认为重要的

的任何标准

给出你推荐某些自动教学研究库的理由,肯定会给初学者提供Emacs编程方面的信息。

EN

回答 2

Stack Overflow用户

发布于 2011-03-13 13:26:08

正如Trey所说,使用Emacs本身的elisp来学习。我通常做两件事中的一件:

1)如果我试图找出如何使用特定的函数,我将打开一个dired窗口并这样做:

代码语言:javascript
复制
% g foobar

其中foobar是我感兴趣学习如何使用的函数的名称。这将标记所有使用foobar的文件,然后我搜索它们,看看如何调用它,在什么环境下调用它,等等。

2)如果我想弄清楚如何做某事,而且我知道一种类似的模式,我将查看该模式的源代码,看看他们是如何做到的。如果您不知道从哪里开始,但是您知道如何执行您想要做的事情,那么一件方便的事情就是通过键绑定来查找它。例如,在dired缓冲区中,执行以下操作:

代码语言:javascript
复制
C-h k % g

这会引起:

代码语言:javascript
复制
% g runs the command dired-mark-files-containing-regexp, which is an
% interactive compiled Lisp function in `dired.el'.

It is bound to % g, <menu-bar> <regexp> <mark-cont>.
(dired-mark-files-containing-regexp regexp &optional marker-char)

Mark all files with contents containing regexp for use in later
commands. A prefix argument means to unmark them instead.
`.' and `..' are never marked.

在上面的文本中单击dired.el (在emacs缓冲区中)将打开源代码,并带您直接进行函数定义。这是以身作则的好方法。

不要忘记elisp调试器是一种查看代码执行过程中到底发生了什么和后续发生了什么的方法。您可以使用edebug-defun标记用于调试的代码,然后像往常一样调用它,此时emacs将逐步遍历代码。

票数 4
EN

Stack Overflow用户

发布于 2011-03-12 17:57:09

我推荐的源代码是Emacs本身的源代码。从简单的东西开始(双关意),看看其他的文件,就像你习惯的那样。

代码语言:javascript
复制
M-x find-library simple RET

对于Emacs自己的lisp代码是Emacs的一个很好的例子,我认为这是不言自明的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5283369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档