给定一个由各种串联构建的字符串"my-func-name",我想调用相关的函数.
由于funcall期望一个函数对象作为参数,我想知道是否有一种方法可以通过其名称检索函数引用,因此我可以执行它.
提示:我目前正在使用Emacs Lisp方言.
非常感谢你
奖励:示例虚拟代码
(defun my-func-name ()
"My function."
(message "Hello"))
(setq mfname "my-func-name")
;; Not working, obviously
;; (funcall mfname)
Run Code Online (Sandbox Code Playgroud)
获取该名称的符号intern,然后funcall:
(funcall (intern "my-func-name"))
Run Code Online (Sandbox Code Playgroud)