有一个名为Ruby Koans的伟大项目,它是一系列使用Ruby语言自我锻炼的任务,使用Ruby Unit Testing套件作为学习工具,引导您完成标准库。这是一个很棒的项目。
我很想看到类似Emacs的东西。
任何人都可以推荐在Emacs内部进行任何Lisp练习,以便运用Lisp和Emacs吗?也许还在完成Ruby Koans时?
答案 0 :(得分:8)
曾经在http://www.gnuvola.org/software/elisp-tutorial/以.el格式(emacs lisp)上课。
您现在可以找到copy of the tutorial here。
我从中学到了很多东西。您可以在emacs中以lisp交互模式阅读它们,并在文本中练习。
答案 1 :(得分:4)
这本书"Writing GNU Emacs Extensions"非常接近你的要求。
但是,如果你不想要一本书,那么stackoverflow中已经存在三个类似的问题:What's the best way to learn lisp, How to quickly get started at using and learning emacs和Tips for learning elisp。
我不知道存在的“漫步”系列,但发现最好的方法是开始思考你希望它做的小事,然后尝试使其工作(在这里请求帮助)。即使Emacs已经提供了这样的功能,你可能会发现解决你想要解决的问题更有趣,而不是一堆对你没什么兴趣的丢弃课程。
答案 2 :(得分:2)
The Little Schemer是一本关于Lisp练习的书。您需要注意其中一些在Emacs Lisp中是不可能的,如it doesn't support closures。
它还专注于教授非程序员的递归,这意味着你不会涵盖所有的Lisp语句(大多数练习只是递归地使用(cond ...)。)
我真的很喜欢它。
答案 3 :(得分:1)
如果我没记错的话,一本非常古老的奥瑞利书,Writing GNU Emacs Extensions,有一些。您可能还想查看info
页面中的“Emacs Lisp Intro”(您可以使用M-x info
访问它们。
老实说,学习Emacs的最好方法是改变你看待它的方式。不要看是要学习的文本编辑器,而是作为编写文本编辑器的环境进行探索。想想你自己:在文本编辑器中我总是想要什么,但在我使用的编辑器中却找不到?为自己做好准备。你将学到更多,更快,试图逐个创建“自己的”编辑器,而不是试图记住从一些松散(如果有)链接练习中学到的经验教训,这些练习没有问题需要解决的问题。
答案 4 :(得分:-1)
这是怎么回事:
编写一个简单的程序来打开一个特定的文件(“〜/ ekoans.txt”)并从该文本文件中选择一个随机行,该行在新的临时缓冲区中显示给用户。调用函数ekoan-random,并让用户调用它。
ekoans.txt的前几行是:
Make ekoan-random open up a new file for you instead of a temporary buffer, and insert apropos header text in the new buffer.
Write an ekoan-sequential function that behaves like ekoan-random, except it works in sequential order
Make ekoan-sequential persist through a customization variable
Make the name of the koan file changeable by a customization variable
我称之为Koan-strapping!