私は Emacs Lisp パッケージに取り組んでおり、追加したい特定の機能の 1 つは、その場で関数を定義する機能です。それらは同じ命名規則に従いますが、それらのすべてを手動で宣言する必要がなくなるのに役立ちます.
例を挙げると、起動する実行可能ファイルの名前を引数に取る exec という基本的な関数があります。
(def exec (cmd)
(async-shell-command cmd "buffer"))
同時に、この特定のケースでは、使用したい実行可能ファイルのリストを知っています。より正確には、時間の経過とともに変化する可能性があるため、それらのリストを取得する方法を知っています。次の実行可能ファイルのリストが与えられた場合、私がやりたいことは次のとおりです。
("a" "b" "c")
それらを繰り返し処理し、それぞれに対して exec-[executable] - exec-a、exec-b、exec-c という名前の関数を作成します。
残念ながら、defun は NAME 引数を評価しないため、関数名を動的に作成することはできません。
PS。exec コマンドはそれ自体で十分completing-read
です。提供された実行可能ファイルのリストを使用しますが、上記を追加すると便利だと思いました。