Variables constantes
Por paradójico que parezca, la mayoría de los lenguajes de programación admiten el concepto de variables constantes. En MQL5, se describen añadiendo el modificador const. Se coloca en la descripción de la variable, precediendo a su tipo, y significa que el valor de la variable no puede modificarse en modo alguno tras su inicialización por el valor inicial. Durante toda su vida, la variable tendrá el mismo valor, es decir, una constante.
El compilador simplemente evitará asignar la constante a un valor: el error «la constante no se puede modificar» aparecerá en la cadena correspondiente.
El modificador const tiene por objeto mostrar explícitamente la intención del programador de no modificar la variable en cuestión, si se trata de un valor fijo comúnmente conocido, como el índice EUR para calcular el índice USD, el número de semanas de un año, etc. Se recomienda utilizar siempre el modificador const si no se va a modificar la variable. Esto ayuda a evitar posibles errores más adelante, si el propio programador o alguien de entre sus colegas intenta escribir por accidente algo distinto en la constante.
Por ejemplo, podemos añadir el modificador const para el array messages en la función Greeting. Esto no parece muy útil para un programa tan pequeño. No obstante, dado que los programas tienden a crecer, cualquier cadena puede «encontrarse» tarde o temprano en un entorno de software mucho más complejo, como sentencias añadidas, modos de operación, etc. Por lo tanto, tiene sentido tener un plan B; sobre todo porque es muy sencillo.
string Greeting()
|
En la cadena comentada, probamos a registrar la cadena «Buenas noches» en el primer elemento del array (recuerde que la numeración empieza por 0). En este caso, el sentido de esta acción es simplemente asegurarse de que el compilador impide hacer eso.
Como se ve fácilmente, los modificadores static y const pueden combinarse. El orden de registro no es importante.
Por cierto: en MQL5, las variables se convierten en constantes tanto al usar el modificador const como al declararlas con las variables de entrada del programa.