从(Emacs)Lisp中的字符串名称调用函数

时间:2015-03-23 14:40:41

标签: emacs lisp elisp

给定一个由各种串联构建的字符串“my-func-name”,我想调用相关的函数。

由于funcall需要一个函数对象作为参数,我想知道是否有办法通过名称检索函数引用,所以我可以执行它。

提示:我目前正在使用Emacs Lisp方言。

非常感谢

奖金:示例虚拟代码

(defun my-func-name ()
  "My function."
  (message "Hello"))

(setq mfname "my-func-name")

;; Not working, obviously
;; (funcall mfname)

1 个答案:

答案 0 :(得分:9)

使用intern获取该名称的符号,然后funcall

(funcall (intern "my-func-name"))