Lisp-packages
LISP-パッケージ
プログラミング言語の一般的な用語では、パッケージは、名前のセットを別のセットから分離する方法を提供するために設計されています。 あるパッケージで宣言されたシンボルは、別のパッケージで宣言された同じシンボルと競合しません。 このようにして、パッケージは独立したコードモジュール間の名前の競合を減らします。
LISPリーダーは、検出したすべてのシンボルのテーブルを保持しています。 新しい文字シーケンスを見つけると、新しいシンボルを作成し、シンボルテーブルに保存します。 このテーブルはパッケージと呼ばれます。
現在のパッケージは、特別な変数 package によって参照されます。
LISPには2つの定義済みパッケージがあります-
- common-lisp -定義されたすべての関数と変数のシンボルが含まれています。
- common-lisp-user -common-lispパッケージと、編集およびデバッグツールを備えた他のすべてのパッケージを使用します。要するにcl-userと呼ばれます
LISPのパッケージ関数
次の表は、パッケージの作成、使用、操作に使用される最も一般的に使用される機能を示しています-
Sr.No. | Function and Description |
---|---|
1 |
指定されたパッケージ名で新しいパッケージを作成して返します。 |
2 |
パッケージを最新にします。 |
3 |
このマクロは、 package をnameという名前のパッケージに設定します。これは、シンボルまたは文字列でなければなりません。 |
4 |
パッケージを検索します。 その名前またはニックネームを持つパッケージが返されます。そのようなパッケージが存在しない場合、find-packageはnilを返します。 |
5 |
パッケージの名前を変更します。 |
6 |
この関数は、現在Lispシステムに存在するすべてのパッケージのリストを返します。 |
7 |
delete-package package パッケージを削除します。 |
LISPパッケージの作成
どこで、
package-nameはパッケージの名前です。
:useキーワードは、このパッケージに必要なパッケージ、つまり、このパッケージのコードで使用される機能を定義するパッケージを指定します。
:exportキーワードは、このパッケージの外部にあるシンボルを指定します。
引数とキーワードの意味は以前と同じです。
パッケージを使用する
パッケージを作成したら、それを現在のパッケージにすることで、このパッケージのコードを使用できます。 in-package マクロは、環境内でパッケージを最新にします。
例
main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。
あなたがコードを実行すると、それは次の結果を返します-
パッケージを削除する
例
main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。
あなたがコードを実行すると、それは次の結果を返します-