VB で仮パラメータを宣言するには 2 つの方法があり、1 つは ByVal で、もう 1 つは ByRef です。ByVal の場合、サブルーチンによるパラメータの変更時に、実パラメータのコピーがサブルーチンに渡されます。元のパラメータには影響しません。 ByRef の場合、実パラメータのポインタがサブルーチンに渡され、サブルーチンによるパラメータの変更は元のパラメータの値に影響を与えます。
| ファイル名: | ByVal.asp | ByRef.asp |
| 具体的なコード: | <% サブテストメイン() ディムA : A=5 TestBy(A) を呼び出す 応答.write A エンドサブ Sub TestBy(ByVal T) T=T+1 エンドサブ callTestMain() %> | <% サブテストメイン() ディムA : A=5 TestBy(A) を呼び出す 応答.write A エンドサブ サブ TestBy(ByRef T) T=T+1 エンドサブ callTestMain() %> |
| 実行結果: | 5 | 6 |
| 結論は: | 注: サブルーチン TestBy(ByVal T) 内の T 変数の宣言方法は ByVal です。 結果サブルーチンを実行しても A の値には影響しません。 | 注: サブルーチン TestBy(ByRef T) 内の T 変数の宣言方法は ByRef です。 実行結果 A の値がサブルーチンによって変更されました |