関数をパラメーターとしてelispに渡すにはどうすればよいですか?
質問
elispで1つのメソッドを別のメソッドに渡そうとしています。 そのメソッドに実行させます。次に例を示します。
(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)
解決
最初に、
とは言っても、次のコードは私には有効です:
(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)
実際の関数呼び出しをトリガーする「funcall」の使用に注意してください。
他のヒント
このページの最後のメモ '
の代わりに#'
を使用して関数を引用して、バイトコンパイラにシンボルが常に関数の名前を付けることを通知できると述べています。
所属していません StackOverflow