正常に動作したこの新しいファイルのコードには、さらに 3 つの関数定義を記述する必要があります。庭園の歩道のメイン コードには、次の 3 つのカスタム関数の呼び出しがあります。
これから、骨格となる関数の定義を記述します。骨格となる関数は、後述の完成した関数の骨格になります。これにより、アプリケーションの完成に必要な詳細のすべてを記述する前に、コードを部分的に試験することができます。
;;; Function gp:getPointInput will get path location and size (defun gp:getPointInput () (alert "Function gp:getPointInput will get user drawing input" ) ;; For now, return T, as if the function worked correctly. T ) ;;; Function gp:getDialogInput will get path parameters (defun gp:getDialogInput () (alert "Function gp:getDialogInput will get user choices through a dialog" ) ;;For now, return T, as if the function worked correctly. T ) ;;; Function gp:drawOutline will draw the path boundary (defun gp:drawOutline () (alert (strcat "This function will draw the outline of the polyline" "\nand return a polyline entity name/pointer." ) ) ;; For now, simply return a quoted symbol. Eventually, this ;; function will return an entity name or pointer. 'SomeEname )
それぞれの入力関数の最後は、T のみが記述されたコード行です。これは、呼び出した関数への戻り値になります。すべての AutoLISP 関数は、それを呼び出した関数に値を返します。文字 T は、AutoLISP では「真」を表すシンボルで、T の記入により、関数は真の値を返します。gpmain.lsp は、呼び出した各入力関数が nil(「値なし」を表す)以外の値を返さない限り、次のステップを処理しないように作成されています。
既定では、AutoLISP 関数は最後に評価された式の値を返します。骨格となる関数には、alert 関数を呼び出す式があるだけです。しかし alert は常に nil を返します。gp:getPointInput の最後の式をそのままにしておくと常に nil が返され、if の後ろにある gp:getDialogInput 関数を決して通過しなくなります。
同様の理由により、gp:DrawOutline 関数の最後は、仮の戻り値としてクォーテーション付きのシンボル('SomeEname)を返します。クォーテーション付きのシンボルは、評価されない LISP 定数です(LISP 言語の詳細については、このチュートリアルの末尾に紹介されている書籍を参照してください)。