VBScript の関数とプロシージャと例
VBScriptプロシージャ
VBScript プロシージャは、主にコードの整理と再利用に使用されます。ここでは、VBScript の学習が目的であるため、これまでは簡単な例を使用してきました。しかし、実際のシナリオでは、コードはそれほど単純ではありません。有用なものを実装しようとすると、コードが複雑になる場合があります。数百行が何ページにもわたって広がることもあります。
コードを適切に整理しないと、コーディング、デバッグ、コードの管理のプロセス全体が非常に複雑になります。したがって、コードが簡単に管理できるように、コードを慎重に整理またはモジュール化する必要があります。
さらに、特定のアクションを実行する一連のステートメントがあるとします。 同じアクションを複数回繰り返す必要があります。 では、なぜ同じコードを何度も書く必要があるのでしょうか? 効果的な手法を使用すると、コードを再利用可能にできます。 これにより、開発者はコードを美しく整理し、テスターはバグを簡単に特定できるようになります。 つまり、コードのモジュール化と再利用は、コードをより強力で信頼性が高く、保守しやすくするために非常に重要です。 ここで手順を図にまとめます。
VBScript のプロシージャの種類
プロシージャは、理想的には単一の機能を実行するコードのブロックです。 入力を処理したりファイルを処理したりするコードのブロックは、関数の良い例です。 手続きにはXNUMX種類あります VBScript.
- サブプロシージャ: サブプロシージャは値を返しません。
- 関数プロシージャ: 関数プロシージャは、値を返したい場合に使用されます。
サブプロシージャ
値を返さずに一連のステートメントを実行する場合は、サブプロシージャを使用できます。
Sub プロシージャは、それぞれ Sub ステートメントと End Sub ステートメントで始まり、終了します。 サブプロシージャは引数を取ることができますが、値を返すことはできません。 サブプロシージャは入力を受け取る場合もあれば受け取らない場合もあります。
Sub outputMessage() document.write("Welcome") End Sub
このコードを書くだけでは何も出力されません。 ここでは、outputMessage という名前の Sub プロシージャを作成しました。 次に、それを呼び出す必要があります。
OutputMessage() を呼び出す
これら両方のコードセットを内部で結合します tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
このコードの出力は次のようになります
VBScript 関数
一連のステートメントを実行して値を返したい場合は、一般に関数として知られる関数プロシージャを使用する必要があります。
Function プロシージャは、それぞれ Function ステートメントと End Function ステートメントで始まり、終了します。
関数プロシージャは入力を受け取る場合と受け取らない場合があります。
関数プロシージャは、名前に値を代入して値を返します。
<script type="text/vbscript"> Function findArea(radius) const pi=3.14 area = pi*radius*radius findArea = area End Function document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>") document.write("The area of the circle when the radius is 10 is " & findArea(10)) </script>
このコードの出力は次のようになります
ByRef および ByVal パラメータ
VBScript の引数は、参照または値によってプロシージャに渡すことができます。
プロシージャを呼び出すときに何も指定しない場合、デフォルトで引数が参照によって渡されます。
プロシージャが呼び出された後も引数に加えた変更を維持する場合は、VBScript 引数を参照渡しする必要があります。
引数が値によって渡される場合、呼び出されたプロシージャによって引数の値に加えられる変更は、 変数 プロシージャが呼び出された後は保持されません。
キーワード ByRef および ByVal は、それぞれ参照および値によって引数を渡すために使用されます。
違いを理解するには、まず以下のコードを実行して出力を確認します。
ステップ1) コードをエディタにコピーします
<script type="text/vbscript"> Function returnResult(ByRef value) value = value +1 returnResult = value End Function Dim x x=5 call returnResult(x) document.write(x) </script>
ステップ2) 出力は6です。
ステップ3) 関数 returnResult(ByRef value) を Function returnResult(ByVal value) に変更します。
ステップ4) これで、出力は 5 になります。
まとめ
- VBScript プロシージャは、主にコードの編成と再利用を改善するために使用されます。
- VBS プロシージャには、Sub プロシージャと Function プロシージャの XNUMX 種類があります。
- 値を返さずに一連のステートメントを実行する場合は、サブプロシージャを使用できます。
- 一連のステートメントを実行して値を返したい場合は、関数プロシージャを使用する必要があります。
- プロシージャに引数を参照または値で渡すことができます。 デフォルトでは、引数は参照によって渡されます。
- プロシージャが呼び出された後も引数に加えられた変更を保持する場合は、引数を参照で渡し、そうでない場合は値で渡す必要があります。