Skip to content

Creación de variables

Sintaxis Básica

Para crear una variable se utiliza Dim seguido del nombre de la variable, As y el
de la variable. Por ejemplo:
Dim x As Integer

Instanciación Explicita

Cuando conocemos de antemano el tipo de información que se almacenará en una variable y la definimos en torno a este, se le llama instanciación explicita porque se está expresando explicitamente cual es el tipo de dato que se recibirá.

Sub Main

Dim x As Integer
x = 5

End Sub

Instanciación Implicita

El lenguaje tiene la funcionalidad de permitir que una variable sea utilizada sin haber sido previamente definida. Esto quiere decir que la intención del código anterior puede funcionar de esta forma también:
Sub Main

x = 5

End Sub
Al hacer referencia a la variable x, que aun no ha sido definida, se interpretará definirla implicitamente a partir del tipo del valor asignado (5) en este caso tipo Integer.
Se puede obtener el tipo de un campo declarado de forma implicita a través de la función TypeName(). Asimismo, se puede obtener el código enumerativo correspondiente a través de la función VarType().

Contenedor Universal

La instanciación implicita es una comodidad enorme por 2 puntos importantes:
Permite ahorrarnos el paso de declarar la variable
Permite la generalización de un bloque de código agnóstico al tipo de dato que maneja.
Adicionalmente, la instanciación implicita permite la adaptación de las variables a distintos tipos. Por ejemplo:
Sub Main

x = 5
x = "luis"

End Sub
La variable x se define implicitamente como Integer y luego se redefine como String al asignarse el nuevo valor de este tipo. Esto no contradice la regla de que una variable no puede cambiar su tipo debido a que esta flexibilidad es una ilusión permitida por el tipo de dato Variant.
Variant es un tipo de dato que permite almacenar cualquier tipo de dato, cambiando de tipo según las asignaciones que se realizan sobre él.
La instanciación implicita define una variable como tipo Variant, por lo cual el código
x = 5
realmente implementa:
Dim x as variant
x = 5

Desventajas y Riesgos

Espacio Consumido

A pesar de las ventajas presentadas, es importante señalar que este tipo de dato consume más espacio que los tipos nativos:
Numericos: 16 bytes
Cadenas: 22 bytes
Arreglos: 12 bytes más que el arreglo

Errores Tipográficos

Además de esta desventaja, la declaración implicita trae un riesgo para la redacción del código debido a que el interprete no podrá dar feedback de errores tipograficos en la referencia a las variables. Por ejemplo:
Sub Main
valor = 5
vlaor = valor + 1
msgbox valor
End Sub
En este caso hay un error tipográfico al intentar referirse a la variable valor pero en su lugar se interpreta vlaor como una nueva variable, en consecuencia obteniendo resultados ineseperados.

Deshabilitar la Instanciación Implicita

En IDEAScript se puede configurar el script para que solo se permitan declaraciones explicitas a través de Option Explicit.
Option Explicit
Sub Main
Dim valor As Integer
valor = 5
vlaor = valor + 1
msgbox valor
End Sub
De esta forma se detectará el error tipográfico como error de compilación, ayudando a asegurar la calidad del código.
 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.