我试图在elisp中将一个方法传递给另一个方法,然后让该方法执行它.这是一个例子:
(defun t1 ()
"t1")
(defun t2 ()
"t1")
(defun call-t (t)
; how do I execute "t"?
(t))
; How do I pass in method reference?
(call-t 't1)
Run Code Online (Sandbox Code Playgroud)
Tim*_*sch 31
首先,我不确定命名函数t
是否有用,因为't'被用作lisp中的真值.
也就是说,以下代码适用于我:
(defun test-func-1 () "test-func-1"
(interactive "*")
(insert-string "testing callers"))
(defun func-caller (callee)
"Execute callee"
(funcall callee))
(func-caller 'test-func-1)
Run Code Online (Sandbox Code Playgroud)
请注意使用'funcall',它会触发实际的函数调用.
归档时间: |
|
查看次数: |
6398 次 |
最近记录: |