サブプロシージャーおよびサブルーチン
サブプロシージャーはサブルーチンと類似していますが、サブプロシージャーで
は以下のように強化されている点が異なります。
- パラメーターを値によってもサブプロシージャーに渡すことができます。
このことは、サブプロシージャーとの連絡に使用されるパラメーターは変更可能 である必要はないことを意味します。 プログラムの場合のように参照によって渡されるパラメーターは、変更可能でな ければなりません。したがって、その信頼性が低下することもあります。
- サブプロシージャーとの間で受け渡しされるパラメーターの整合性は、コンパ イル時に検査されます。 このことは、より負担が大きくなる可能性がある実行時エラーを少なくするのに 役立ちます。
- サブプロシージャーは、式の中で組み込み関数と同じように使用することがで
きます。
このようにして使用した場合には、呼び出し元に値が戻されます。 これによって、基本的 には、式の中に必要な任意の演算子をユーザーが定義する ことができます。
- サブプロシージャーの中に定義された名前は、そのサブプロシージャーの外
部では見ることができません。
このことは、プロシージャーが他のプロシージャーと共用されている項目を 不用意に変更してしまう機会が少なくなることを意味します。 さらに、プロシージャーの呼び出し元では、サブプロシージャーの中で使用されて いる各項目について多くを知っている必要はありません。
- サブプロシージャーがエクスポートされた場合には、それをモジュールの外 部から呼び出すことができます。
- サブプロシージャーは反復して呼び出すことができます。
- プロシージャーは、異なる仕様タイプ、すなわち、プロシージャー仕様書に 定義されます。 このタイプが異なることで、別の単位を取り扱っていることをた だちに認識するのに役立ちます。