AutoLISP プログラムでは、頻繁にユーザにエラーを通知したり、入力を要求する必要があります。
表示されるメッセージが、なるべくコマンドの流れを中断することのないようにします。中断してしまう場合は、何が問題なのかまたは必要な入力は何かを簡潔かつ正確に表すメッセージが表示されるようにします。AutoLISP で用意されているユーザにメッセージを表示するための機能は、次のとおりです。
write-char、write-line、getXXX、entsel 関数でも、AutoCAD のコマンド プロンプトにメッセージを表示できます。
Visual LISP の[コンソール]ウィンドウのプロンプトから入力すると、プロンプト関数は、AutoCAD のコマンド ウィンドウにメッセージ(文字列)を表示し、Visual LISP の[コンソール]ウィンドウには nil を返します。princ、prin1、print 関数はすべて、AutoCAD のコマンド プロンプトに値を表示し(文字列であるとは限りません)、Visual LISP の[コンソール]ウィンドウに値を返します。
次の例では、基本的な出力関数の違いと、それぞれの関数が同じテキスト文字列をどのように処理するかを示します。
(setq str "The \"allowable\" tolerance is \261 \274\"") (prompt str) outputs The "allowable" tolerance is 1/4" returns nil (princ str) outputs The "allowable" tolerance is 1/4" returns "The \"allowable\" tolerance is 1/4\"" (prin1 str) outputs "The \"allowable\" tolerance is 1/4"" returns "The \"allowable\" tolerance is 1/4\"" (print str) outputs<blank line> "The \"allowable\" tolerance is 1/4""<space> returns "The \"allowable\" tolerance is 1/4\""