Variables
 
¿Qué son Variables?

Una variable es un valor que va cambiando de un momento a otro. El uso de variables es el recurso fundamental en programación. Podemos ver una variable informática como un recipiente en el que podemos depositar un valor cualquiera, para después hacer uso de él dentro de una instrucción, de esta forma no será necesario tocar la instrucción cada vez que queramos alterar el valor a manejar, sino tan solo asignar antes un nuevo valor a la variable.

 

Técnicamente una variable no es más que un espacio de nuestra memoria RAM que queda reservado en el momento en que se crea la variable, e identificado temporalmente con el nombre de esta. Cada vez que asignamos un valor a la variable el programa lo único que hace es depositar ese valor en la dirección reservada. Más adelante, cuando ejecutemos una instrucción que contenga esa variable, el programa irá a ese espacio de memoria y extraerá el valor que contenga, poniéndolo en el lugar del nombre de la variable, dentro de la instrucción en cuestión.

 

Por ejemplo, si en un script para mIRC hemos creado una variable llamada %num, a la que hemos asignado el número 3,14159, podemos tener una instrucción como la siguiente:

 

    echo -a El valor asignado es: %num

 

Esta orden presentará en la ventana activa un mensaje que diga:

 

     "El valor asignado es: 3,14159"

 

Si queremos que el valor que nos presente el mensaje sea diferente, no tenemos más que asignar previamente un valor distinto a la variable.

 

Como se ve el uso de las variables es muy sencillo. En mIRC lo único que hace falta es identificarlas con un nombre de nuestra elección y precederlo del símbolo: %.

 

Pero, ¿Cómo creamos las variables y les asignamos valores?. El entorno del mIRC provee una manera muy simple de hacerlo mediante el uso de la orden /set, cuya sintaxis es la siguiente:

 

    set <%variable> [valor]

 

Por ejemplo:

 

    set %num 3,14159

 

Es decir, es posible crear la variable en el mismo momento que le asignamos un valor. Si no especificamos valor la variable se creará, pero no contendrá nada de momento; y si usamos esta orden sobre una variable que ya existe, esta recibirá el nuevo valor especificado.

 

En el mIRC no es necesario preocuparse de qué tipo es la información que depositamos dentro de la variable, es decir, si se trata de una cadena de caracteres, un número entero, o un número con parte entera y parte decimal. Esta distinción la hace el programa en el momento que hagamos uso de ella; en principio todas las variables se consideran como una simple cadena de caracteres, pero si empleamos para manejarlas operadores aritméticos, el programa las transforma internamente en el valor numérico que corresponde; la única limitación en este caso es que solo se tendrán en cuenta los cinco primeros valores decimales, es decir, los cinco primeros dígitos tras la coma decimal.  

 

Recursos de asignación

Asignar valores a una variable se puede hacer de forma directa, como hemos visto, o de forma indirecta a través de algún recurso del programa. Por ejemplo, si queremos que la variable %MiNick reciba el nick que estamos utilizando en ese momento, sin tener que especificárselo nosotros, podemos recurrir a la función $me, que nos devuelve precisamente nuestro nick actual. La asignación sería pues:

 

    set %MiNick $me

 

Otro ejemplo, queremos asignar a una variable el contenido de otra variable:

 

    set %var2 %var1

 

Incluso podemos hacer que el programa nos pregunte qué valor queremos que reciba determinada variable, cuando el script llegue a ese punto; no hay mas que hacer uso del identificador $$?, por ejemplo:

 

    set %variable $$?="Asigna un valor a la variable:"

 

Así mismo es posible también hacer que una variable reciba directamente el resultado de operaciones aritméticas sencillas:

 

    %x = 5 + 1 Suma

    %x = 5 - %y Resta

    %x = %x * 2 Producto

    %x = %z / $2 División

    %x = $1 %

    %valor Módulo (Resto de la división: $1 entre %valor)

    %x = 2 ^ %w Potencia

 

Solo es posible asignar el resultado de operaciones simples, para el uso de operaciones más complicada es preciso recurrir a la función $calc que podemos ver en el capítulo IDENTIFICADORES.

 

Finalmente, podemos hacer incrementos o decrecimientos automáticos del valor numérico de una variable con las órdenes:

 

   inc <%variable> [incremento]

   dec <%variable> [decremento]

 

Estas órdenes incrementarán o decrementarán el contenido de una variable en una cantidad especificada. Si no se especifica cantidad el incremento o decremento se hará en la unidad. Por ejemplo:

 

    set %valor 5

    set %cifra 2

    dec %valor %cifra

    echo -a El valor actual es: %valor

 

En la pantalla aparecerá el mensaje:

 

    "El valor actual es: 3"

 

Si en algún momento hacemos uso de una variable que aún no ha sido creada, o bien, que no contiene ningún valor, esta devolverá el parámetro $null (nulo), esto solo será útil en las comparaciones de tipo if que se estudian en su correspondiente apartado.

 

Nota: Podemos consultar todas las variables existentes en un momento determinado, así como el valor que contienen (alterándolo manualmente si lo deseamos) desde el menú Herramientas, en la opción "Remote...", en la solapa "Variables". 

Eliminación de variables

 

Eventualmente es posible también eliminar la variable, es decir, hacer que desaparezca la reserva de memoria que la creación de esta supuso. La orden a este efecto es la siguiente:

 

    unset <%variable_1>

 

Es posible también utilizar el carácter * para eliminar grupos de variables, por ejemplo:

 

    unset %nom*

 

Esta orden eliminará todas las variables cuyo nombre comience por "nom".

 

Finalmente podemos, si lo deseamos, eliminar todas la variables instaladas son la orden: unsetall

 

Ayuda Staff te invita a que continues aprendiendo sobre Scripting pulsando en el próximo subtema Identificadores.