関数ステートメント
名前、関数プロセスのパラメーター、およびその本体を形成するコードを宣言します。
[public [default] | private] functionName [(
Arglist
)]]
[ステートメント]
[name = expression]
[exitfunction]
[ステートメント]
[name = expression]
エンド機能パラメーター
公共
関数プロセスには、すべてのスクリプトの他のすべての手順がアクセスできることを示します。
デフォルト
クラスブロックの公開キーワードでのみ使用して、関数手順がクラスのデフォルトメソッドであることを示します。クラスで複数のデフォルトの手順が指定されている場合、エラーが発生します。
プライベート
関数手順は、それを宣言するスクリプト内の他の手順によってのみアクセスできることを示します。または、関数がデータクラスである場合、関数手順はクラス内の他の手順によってのみアクセスできます。
名前
関数の名前は、標準の変数ネーミングルールに従います。
Arglist
呼び出されたときに関数手順に渡されるパラメーターを表す変数のリスト。コンマで複数の変数を分離します。
ステートメント
関数手順の本体で実行されたステートメントのグループ。
表現
関数の返品値。
Arglistパラメーターには、次の構文と部分が含まれています。
[byval | byref] varname [()]
パラメーター
byval
パラメーターの値が渡されていることを示します。
byref
参照でパラメーターが渡されていることを示します。
Varname
パラメーター変数の名前を表します。標準の変数ネーミングルールに従います。
説明します
パブリックまたはプライベートが明示的に指定されていない場合、機能手順はデフォルトで公開されます。つまり、スクリプト内の他のすべての手順に表示されます。関数内のローカル変数の値は、手順への呼び出しには保持されません。
関数手順は、他の手順(サブやプロパティゲットなど)で定義することはできません。
ExitFunctionステートメントを使用して、関数プロセスからすぐに終了します。プログラムは、関数手順を呼び出す声明の後も声明を実行し続けます。 ExitFunctionステートメントは、関数手順のどこにでも表示できます。
サブプロセスと同様に、関数プロセスは、パラメーターを取得し、一連のステートメントを実行し、パラメーター値を変更できる独立したプロセスです。サブ手順との違いは、関数によって返される値を使用する場合、式の右側にある関数手順を使用できることです。これは、SQR、COS、またはChrなどの内部関数と同じです
式では、関数名を使用して、括弧内に対応するパラメーターリストを提供することにより、関数手順を呼び出すことができます。関数プロシージャの呼び出しの詳細については、コールステートメントを参照してください。
警告関数の手順は再帰的である可能性があります。つまり、手順はそれ自体を呼び出して特定のタスクを完了することができます。ただし、再帰はスタックオーバーフローを引き起こす可能性があります。