概要 - 関数をドキュメントおよびその他のアプリケーションで使用できるようにする(Visual LISP IDE)

既定では、独自の名前空間 VLX で定義された関数は、ドキュメントまたはその他のアプリケーションの名前空間には公開されません。

注: Visual LISP IDE は Windows でのみ使用可能です。

関数をドキュメントやその他のアプリケーションの名前空間に公開するには、vl‑doc-export 関数を使用する必要があります。vl-doc-export を VLX 独自の名前空間で実行する VLX ファイルから呼び出すと、VLX ファイルをロードするいずれかの名前空間に指定した関数が公開されます。vl-doc-export 関数は 1 つの引数、つまり関数名を示すシンボルを受け入れます。

たとえば、次のコードを見てください。

(vl-doc-export 'kertrats)
(defun kertrats ()
  (princ "This function goes nowhere") 
)

この例は、単にメッセージを出力する kertrats という名前の関数を定義します。その関数に対する defun は、関数を書き出す vl-doc-export 呼び出しより先に行なわれます。

現在のドキュメントに関連付けられたすべての独自の名前空間アプリケーションのリストを返すには、vl-list-loaded-vlx 関数を、独自の名前空間アプリケーションから現在のドキュメントに書き出された関数を特定するには vl-list-exported-functions 関数を使用することができます。

次に、現在のドキュメントに関連付けられている独自の名前空間アプリケーションを示します。

(vl-list-loaded-vlx)
(DOCTEST)

次のコマンドを実行すると、doctest アプリケーションによって書き出された関数のリストが返されます。

(vl-list-exported-functions "doctest")
("KERTRATS")
注: ドキュメント A に関連付けられている独自の名前空間 VLX A が独自の名前空間 VLX B をロードした場合、書き出された VLX B のすべての関数は、ドキュメント A で自動的に定義されます。また、書き出された VLX B の関数は、VLX A が明示的に読み込みを実行するまで、VLX A では定義されません。

別のアプリケーションによってき出された関数を使用する

ある独自の名前空間 VLX で定義されている関数は、他の独自の名前空間 VLX アプリケーションには書き出されません。関数が vl‑doc-export 関数を使用して書き出されている場合は、vl‑doc-import 関数を使用して、関数を別の独自の名前空間 VLX で使用できるようにすることができます。