评估名称存储在字符串中的变量

Ado*_*obe 3 emacs elisp

考虑一个评估名称是字符串的变量的问题:

(defun string-dereference ()
  (interactive)
  (let ((myStr "rst-adjust"))
  ;; (describe-function 'myStr) => Symbol's function definition is void: myStr
  ;; (funcall (format "(describe-function '%s)" myStr) => Invalid function: "(describe-function 'rst-adjust)")
  )
Run Code Online (Sandbox Code Playgroud)

虽然以下工作

(describe-function 'rst-adjust)
Run Code Online (Sandbox Code Playgroud)

我如何做到这rst-adjust一点存储在一个字符串?

编辑:

答案是:

(describe-function (intern myStr))
Run Code Online (Sandbox Code Playgroud)

leg*_*cia 7

intern 是你正在寻找的功能:

(let ((my-str "rst-adjust"))
  (intern my-str))
==> rst-adjust
Run Code Online (Sandbox Code Playgroud)