从 (Emacs) Lisp 中的字符串名称调用函数
Call a function from a string name in (Emacs) Lisp
给定一个由各种连接构建的字符串,"my-func-name",我想调用关联的函数。
由于funcall
需要一个函数对象作为参数,我想知道是否有办法通过名称检索函数引用,以便我可以执行它。
提示:我目前使用的是 Emacs Lisp 方言。
非常感谢
奖励:示例虚拟代码
(defun my-func-name ()
"My function."
(message "Hello"))
(setq mfname "my-func-name")
;; Not working, obviously
;; (funcall mfname)
用intern
得到那个名字的符号,然后funcall
它:
(funcall (intern "my-func-name"))
给定一个由各种连接构建的字符串,"my-func-name",我想调用关联的函数。
由于funcall
需要一个函数对象作为参数,我想知道是否有办法通过名称检索函数引用,以便我可以执行它。
提示:我目前使用的是 Emacs Lisp 方言。
非常感谢
奖励:示例虚拟代码
(defun my-func-name ()
"My function."
(message "Hello"))
(setq mfname "my-func-name")
;; Not working, obviously
;; (funcall mfname)
用intern
得到那个名字的符号,然后funcall
它:
(funcall (intern "my-func-name"))