I need to initialize several variables with the same value in VBScript. The only way I can find is for example x = 5 : y = 5 : z = 5. Is there a way similar to x = y = z = 5?
VBScript doesn't support multiple assignments. A statement
x = y = z = 5
would be evaluated like this (pseudocode using := as assignment operator and == as comparison operator to better illustrate what's happening):
x := ((y == z) == 5)
x := ((Empty == Empty) == 5)
x := (True == 5)
x := False
As a result the variable x will be assigned the value False while the other variables (y and z) remain empty.
Demonstration:
>>> x = y = z = 5
>>> WScript.Echo TypeName(x)
Boolean
>>> WScript.Echo "" & x
False
>>> WScript.Echo TypeName(y)
Empty
>>> WScript.Echo TypeName(z)
Empty
The statement
x = 5 : y = 5 : z = 5
isn't an actual multiple assignment. It's just a way of writing the 3 statements
x = 5
y = 5
z = 5
in a single line (the colon separates statements from each other in VBScript).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With