C / C ++では、ライブラリを作成し、ソースコードで#include ""を使用し、リンク時に-labcを使用して、ライブラリを静的なものまたはdllにすることができます。lispで同じ機能を使用するにはどうすればよいですか?
ディレクトリAのutil.lispの例として、ライブラリ関数helloを定義します。
(defpackage "UTIL" (:「COMMON-LISP」を使用) (:ニックネーム "UT") (:export "HELLO")) (パッケージ内ユーティリティ) (defun hello() (format t "hello、world"))
そして、このライブラリ関数をmain関数から使用してみてください。
(defun main() (ut:hello)) (主要)
私は試した
clisp main.lisp A / util.lisp
しかし、私は次のメッセージを受け取りました
***-#から読む:「UT」という名前のパッケージはありません
- ライブラリを使用するための#include""に相当するものは何ですか?
- ライブラリをロードするための-lutilに相当するものは何ですか?ライブラリを使用するためのclisp/sbclのコマンドラインは何ですか?
- そしてdefpackageの場合、これは名前空間と同等ですか?
追加した
ライブラリをロードする必要がありました。
("./A/util.lisp"をロード) (defun main() (ut:hello)) (主要)
そして、「clispmain.lisp」を実行すると正常に動作します。