Funciones y procedimientos de VBScript con ejemplo

⚡ Resumen inteligente

Las funciones y procedimientos de VBScript organizan el código en bloques reutilizables. Un procedimiento Sub ejecuta instrucciones sin devolver ningún valor, mientras que un procedimiento Function devuelve un valor asignándolo al nombre de la función, y los argumentos se pasan mediante ByRef o ByVal.

  • 🧱 Code Reutilizar: Los procedimientos modularizan el código para que sea más fácil escribirlo, depurarlo y mantenerlo en scripts extensos.
  • 📤 Subprocedimiento: Una subrutina ejecuta un bloque de instrucciones entre Sub y End Sub, pero no devuelve ningún valor.
  • 📥 Procedimiento de funcionamiento: Una función devuelve un valor asignándolo al nombre de la función entre Function y End Function.
  • 📞 Vocación: Utilice la palabra clave `call` para ejecutar una subrutina y el nombre de una función en una expresión para obtener su resultado.
  • 🔁 Por referencia vs. Por valor: ByRef permite que los cambios persistan después de la llamada; ByVal trabaja sobre una copia, por lo que los cambios no persisten.
  • ⚙️ Paso predeterminado: VBScript pasa los argumentos por referencia de forma predeterminada, a menos que se especifique ByVal.

Funciones y procedimientos de VBScript

Procedimientos de VBScript

Los procedimientos de VBScript se utilizan principalmente para la organización y reutilización de código. Hasta ahora hemos utilizado ejemplos sencillos, ya que el objetivo es aprender VBScript. Pero en un escenario del mundo real, el código no es tan simple. Cuando intentas implementar algo que es útil, el código puede volverse más complejo. Puede haber cientos de líneas que se extiendan a lo largo de muchas páginas.

Si no organizas el código correctamente, todo el proceso de codificación, depuración y gestión del código se volverá muy complejo. Por lo tanto, debes organizar o modularizar el código con cuidado para que sea fácil de manejar.

Además, suponga que tiene un conjunto de declaraciones que realizan una acción particular. Quieres que la misma acción se repita varias veces. Entonces, ¿por qué deberías escribir el mismo código una y otra vez? Al utilizar técnicas efectivas, puede hacer que su código sea reutilizable. Esto ayudará a los desarrolladores a organizar el código de manera hermosa y a los evaluadores a identificar errores fácilmente. En resumen, la modularización y reutilización del código es muy importante para hacer que el código sea más potente, confiable y más fácil de mantener. Aquí vienen los procedimientos en una imagen.

Tipos de procedimientos en VBScript

Un procedimiento es un bloque de código que idealmente realiza una única función. Un bloque de código que procesa una entrada o maneja un archivo es un buen ejemplo de función. Hay dos tipos de procedimientos en VBScript.

  1. Subprocedimiento: El subprocedimiento no devuelve un valor.
  2. Procedimiento de función: el procedimiento de función se utiliza si desea devolver un valor.

Subprocedimientos

Si desea ejecutar una serie de declaraciones sin devolver ningún valor, puede utilizar subprocedimientos.

Los procedimientos Sub comienzan y terminan con declaraciones Sub y End Sub respectivamente. Los subprocedimientos pueden aceptar argumentos, pero no pueden devolver un valor. Los subprocedimientos pueden o no recibir información.

Sub outputMessage()
document.write("Welcome")
End Sub

Simplemente escribir este código no generará nada. Aquí ha creado un procedimiento secundario denominado mensaje de salida. A continuación, debes llamarlo.

llamar mensaje de salida()

Combine ambos conjuntos de códigos dentro de la etiqueta de esta manera.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

La salida de este código será

Subprocedimientos

Funciones de VBScript

Si desea ejecutar una serie de declaraciones y devolver un valor, debe utilizar procedimientos de función, comúnmente conocidos como función.

Los procedimientos de función comienzan y terminan con declaraciones de función y función final respectivamente.

Un procedimiento de función puede o no recibir información.

Los procedimientos de función devuelven un valor asignando el valor a su nombre.

<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>

La salida de este código será

Funciones de VBScript

Parámetros ByRef y ByVal

Puede pasar argumentos de VBScript a los procedimientos por referencia o por valor.

Si no especifica nada cuando llama a un procedimiento, entonces el argumento o argumentos se pasan por referencia de forma predeterminada.

Si los cambios realizados en los argumentos persisten incluso después de llamar al procedimiento, entonces deberá pasar los argumentos de VBScript por referencia.

Cuando un argumento se pasa por valor, cualquier cambio que el procedimiento llamado realice en el valor del variable no persista después de llamar al procedimiento.

Las palabras clave ByRef y ByVal se utilizan para pasar argumentos por referencia y por valor respectivamente.

Para comprender la diferencia, primero ejecute el código que se proporciona a continuación y vea el resultado.

Paso 1) Copia el código en tu editor.

<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>

Paso 2) la salida es 6.

Paso 3) Cambie la función returnResult (valor ByRef) a la función returnResult (valor ByVal)

Paso 4) Ahora tu salida será 5.

Preguntas Frecuentes

Utilice Exit Sub dentro de una subrutina, o Exit Function dentro de una función, para salir del procedimiento justo antes de su finalización. La ejecución regresa entonces a la línea que lo llamó.

Si utiliza la palabra clave `call`, encierre los argumentos entre paréntesis. Si omite `call`, no utilice paréntesis para los argumentos múltiples. Este es un error de sintaxis común en VBScript.

Sí. Una subrutina o función de VBScript puede llamarse a sí misma, lo que se conoce como recursión. Siempre incluya una condición base que detenga las llamadas, de lo contrario, el script entrará en un bucle infinito hasta que se agote el espacio de la pila.

Sí. La IA puede detectar declaraciones duplicadas, por ejemplotracIntrodúzcalas en una subrutina o función con los parámetros adecuados y actualice las llamadas. Esto hace que los scripts sean más cortos y fáciles de mantener.

Sí. La IA puede. tracExplique cómo cambia un valor con ByRef frente a ByVal, muestre la salida para cada uno y recomiende cuál usar según si quien realiza la llamada debe ver el cambio.

Resumir este post con: