给定一个由各种串联构建的字符串“my-func-name”,我想调用相关的函数。
由于funcall
需要一个函数对象作为参数,我想知道是否有办法通过名称检索函数引用,所以我可以执行它。
提示:我目前正在使用Emacs Lisp方言。
非常感谢
奖金:示例虚拟代码
(defun my-func-name ()
"My function."
(message "Hello"))
(setq mfname "my-func-name")
;; Not working, obviously
;; (funcall mfname)
答案 0 :(得分:9)
使用intern
获取该名称的符号,然后funcall
:
(funcall (intern "my-func-name"))