関数をパラメーターとしてelispに渡すにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/213267

  •  03-07-2019
  •  | 
  •  

質問

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)
役に立ちましたか?

解決

最初に、 t の名前付けが役立つかどうかわかりません/ cgi-bin / info2www?(elisp)nil + and + t "rel =" noreferrer "> 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)

実際の関数呼び出しをトリガーする「funcall」の使用に注意してください。

他のヒント

このページの最後のメモ 'の代わりに#' を使用して関数を引用して、バイトコンパイラにシンボルが常に関数の名前を付けることを通知できると述べています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top