emacs - 如何将参数传递给 emacs lisp 中的映射?

标签 emacs lisp elisp

我想编写一个小函数来向列表中添加一个值。它看起来像这样:

(defvar 票价 '(31.14 28.12 25.10 22.08 19.06 16.04 13.02 10))

(defun plus-extra (fare) (+ 3.02 fare))

(map 'plus-extra fares)

不出所料,elisp 会失败,因为该函数需要一个参数。我错过了什么?

谢谢 罗伯特

最佳答案

这里没有足够参数的函数是map,不是你定义的。

Emacs Lisp 中不存在map 函数,它是由cl 包提供的。此 map 函数需要 3 个参数,第一个参数必须是 map 应返回的类型。这:

(map 'list 'plus-extra fares)

会起作用。但你想要的是:

(mapcar 'plus-extra fares)

这是原生的 elisp。

PS:不要忘记 Emacs 附带了它的文档! C-h f map RET ;-).

关于emacs - 如何将参数传递给 emacs lisp 中的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6081921/

相关文章:

emacs - 为 Org-mode 中的每个条目分配 ID

emacs - 在elisp中显示选项列表

c - 为什么我的小口齿不清的人不会引用?

emacs - eval-when-compile 不被尊重?

scheme - Racket :为什么不应用 "bitmap"功能?

lisp - CLISP 中需要解释

git - 如何配置 Magit 以使用我的 Github 用户名?

emacs - 显示组织模式大纲直至特定标题级别

emacs - 如何在 emacs 中自动关闭自动加密模式缓冲区?

macos - 直接打开一个文件到emacs(通过双击)