VBScript の関数とプロシージャと例

VBScriptプロシージャ

VBScript プロシージャは、主にコードの整理と再利用に使用されます。ここでは、VBScript の学習が目的であるため、これまでは簡単な例を使用してきました。しかし、実際のシナリオでは、コードはそれほど単純ではありません。有用なものを実装しようとすると、コードが複雑になる場合があります。数百行が何ページにもわたって広がることもあります。

コードを適切に整理しないと、コーディング、デバッグ、コードの管理のプロセス全体が非常に複雑になります。したがって、コードが簡単に管理できるように、コードを慎重に整理またはモジュール化する必要があります。

さらに、特定のアクションを実行する一連のステートメントがあるとします。 同じアクションを複数回繰り返す必要があります。 では、なぜ同じコードを何度も書く必要があるのでしょうか? 効果的な手法を使用すると、コードを再利用可能にできます。 これにより、開発者はコードを美しく整理し、テスターはバグを簡単に特定できるようになります。 つまり、コードのモジュール化と再利用は、コードをより強力で信頼性が高く、保守しやすくするために非常に重要です。 ここで手順を図にまとめます。

VBScript のプロシージャの種類

プロシージャは、理想的には単一の機能を実行するコードのブロックです。 入力を処理したりファイルを処理したりするコードのブロックは、関数の良い例です。 手続きにはXNUMX種類あります VBScript.

  1. サブプロシージャ: サブプロシージャは値を返しません。
  2. 関数プロシージャ: 関数プロシージャは、値を返したい場合に使用されます。

サブプロシージャ

値を返さずに一連のステートメントを実行する場合は、サブプロシージャを使用できます。

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>

このコードの出力は次のようになります

VBScript 関数

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 種類があります。
  • 値を返さずに一連のステートメントを実行する場合は、サブプロシージャを使用できます。
  • 一連のステートメントを実行して値を返したい場合は、関数プロシージャを使用する必要があります。
  • プロシージャに引数を参照または値で渡すことができます。 デフォルトでは、引数は参照によって渡されます。
  • プロシージャが呼び出された後も引数に加えられた変更を保持する場合は、引数を参照で渡し、そうでない場合は値で渡す必要があります。