1

以下のコードを検討してください。

Option Explicit

Dim Count : Count = 4


'Case-I
Sub Display1()

 MsgBox(Count)

End Sub

'Case-II

Sub Display2(Count)

 MsgBox(Count)

End Sub

錯乱

  • ここで、変数はメソッドの両方またはメソッドのみにCountアクセスできるようにする 必要がありますか?methodDisplay2
  • 変数countがメソッドでアクセスできない場合、Display1それを渡さずにサブまたは関数内で使用できるようにする方法はありますSubFunction
  • Countサブから変数を更新するDisplay2と、その値を他の変数に使用しfunctionたりsub、VBScript にglobal変数宣言がある場合に使用したりできます。
4

1 に答える 1

2

変数countは関数またはサブプロシージャの外で宣言されるため、そのスコープはここではグローバルです。グローバル変数は、任意の関数またはサブプロシージャで使用でき、その値はプログラム フローのどこでも変更できます。

このプロシージャを呼び出して .vbs ファイルを実行すると4、どちらの場合もメッセージ ボックスが表示されます。

Option Explicit

Dim Count : Count = 4
'Case-I
Sub Display1()
 MsgBox(Count)
End Sub

'Case-II
Sub Display2(Count)
 MsgBox(Count)
End Sub

Call Display1()
Call Display2(Count)

count関数またはサブプロシージャで変数の値を変更すると、スコープがグローバルであるため、他のプロシージャの値も変更されます。

オプション明示

Dim Count : Count = 4
'Case-I
Sub Display1()
 Count = 5               ''value changed here 
 MsgBox(Count)
End Sub

'Case-II
Sub Display2(Count)
 MsgBox(Count)
End Sub

Call Display1()
Call Display2(Count)

上記の場合、両方のメッセージ ボックスが表示されます5

于 2013-01-02T04:10:14.177 に答える