は、私は[...(関数定義]定義されたいくつかの機能を持つLispのファイルを持っている。 Lispスクリプトで関数名を定義するにはどうしたらいいですか?
は、Javaを使用して、スクリプトで定義されたすべての関数名を取得する簡単な方法はありますか? は
0
A
答えて
1
はおそらく、あなたはのいくつかを使用することができます機能は、特定のパッケージ、マクロあなた杖の使用with-package-iterator
で定義されているA Small Lisp interpreter in Java
0
からコードを知りたい場合は、このように:。
(with-package-iterator (next (find-package 'test) :internal)
(loop :for (more? sym) := (multiple-value-list (next))
:if (fboundp sym) :collect sym :into rez
:else :unless more? :do (return rez)))
あなただけ抽出したい場合関数をスクリプト(-file)から削除すると、最も簡単な方法は、正規表現"\\(defun (.+)\\s"
または類似のものでスキャンするようです。
0
非常に単純なケースでは、正規表現を使用できます。わずかに単純なケースでは、S式のリーダを実装するのが合理的なアプローチかもしれません(あなたは読者のマクロを無視するだけでなくなります)。しかし、一般的には、特にマクロロジーが関与する場合は、Common LispのJava実装であるArmed Bear Common Lispを埋め込み、前述のVsevolodフォームwith-package-iterator
を使用することを検討してください。
関連する問題
- 1. 関数をlispで変数として使うにはどうしたらいいですか?
- 2. Common Lispでライブラリをロードするにはどうしたらいいですか?
- 3. Emacs lisp非対話型関数のリストを取得するにはどうしたらいいですか?
- 4. 関数をEmacs Lispのパラメータとして渡すにはどうしたらいいですか?
- 5. ユーザー定義関数の引数をdata.tableの列名にするにはどうすればいいですか?
- 6. Python:Doctestでクラスを定義するにはどうしたらいいですか?
- 7. luaスクリプトからC++クラスメンバー関数にアクセスするにはどうしたらいいですか?
- 8. 文字列を共通のlispで整数に変換するにはどうしたらいいですか?
- 9. Rubyでブロックを定義/名前を付けるにはどうしたらいいですか?
- 10. ある関数から別の関数に変数を渡すにはどうしたらいいですか?
- 11. perlで関数をインポートするにはどうしたらいいですか?
- 12. 定義済みのすべての関数をpythonスクリプト1からPythonスクリプト2にインポートするにはどうすればいいですか?
- 13. 変数/関数定義をParallel(ParallelMapなど)で設定するにはどうすればよいですか?
- 14. 共通のlispで定義する前に関数を宣言するには?
- 15. 定義関数を正常に関数に含めるにはどうすればいいですか?
- 16. JavascriptからLisp関数を呼び出すにはどうすればいいですか?
- 17. emacs lispで関数を定義解除する方法はありますか?
- 18. libclangで完全修飾の関数名を取得するにはどうしたらいいですか?
- 19. Sinonで無名関数をスタブするにはどうしたらいいですか?
- 20. CakePHP:Model.phpファイルからすべての関数名を取得するにはどうしたらいいですか? PHPのスクリプトが必要です
- 21. CMakeスクリプトに設定変数を追加するにはどうしたらいいですか?
- 22. 匿名の再帰関数を定義するにはどうすればよいですか?
- 23. 関数名からjavascript関数を評価するにはどうすればいいですか?
- 24. Pythonスクリプトからlinuxでユーザーのパスワードを設定するにはどうしたらいいですか?
- 25. Rubyでスクリプトを作成するにはどうしたらいいですか?
- 26. IRBでスクリプトを再ロードするにはどうしたらいいですか?
- 27. common-lispでは、リスト内の要素をインプレースに挿入するにはどうしたらいいですか?
- 28. Lisp-「[関数名]は数字ではない」
- 29. 変数から名前を持つ関数を定義していますか?
- 30. Leksahのユーザー定義関数の定義に移動するにはどうすればよいですか?