I've been learning the basics of VBScript, and I'm curious as to how UBound and LBound can take one or two arguments. I have read that VBScript supports neither optional parameters nor overloaded functions, so how are these functions able to take the optional second parameter?
This page on the Rhino Developer Docs discusses a workaround for implementing optional parameters in VBscript, but it doesn't seem like that is how UBound and LBound are implemented, since callers don't have to pass in an array of parameters.