English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Un módulo es un grupo de funciones recompuestas en un solo nombre en un solo archivo. Además, todas las funciones en Erlang deben definirse en un módulo.
La mayoría de las funciones básicas, como operadores aritméticos, lógicos y booleanos, ya están disponibles porque el módulo predeterminado se carga en tiempo de ejecución del programa. Cada otra función definida en el módulo que se utilizará necesitará usar Module: Function (Arguments) en la forma para invocar.
Se pueden declarar dos tipos de contenido utilizando el módulo: funciones y propiedades. Las propiedades son metadatos que describen al módulo en sí, como su nombre, las funciones visibles para el exterior, el autor del código, etc. Estos metadatos son muy útiles porque informan al compilador sobre cómo debe realizar su trabajo, y porque permiten a las personas recuperar información útil del código compilado sin necesidad de consultar el código fuente.
La sintaxis de declaración de función es la siguiente :
-module(modulename)
Aquí, modulename es el nombre del módulo. Esto debe estar en la primera línea del código del módulo. El siguiente programa muestra un ejemplo de un módulo llamado helloworld.
-module(helloworld). -export([start/0]). start() -> io:fwrite("Hello World").
El resultado de salida del código anterior es -
Hello World
Las propiedades del módulo definen propiedades específicas del módulo, que consisten en una etiqueta y un valor.
La sintaxis general de las propiedades es -
-Tag(Value)
El siguiente programa de ejemplo se utiliza para demostrar cómo se utilizan las propiedades del módulo. -
-module(helloworld). -author("TutorialPoint"). -version("1.0"). -export([start/0]). start() -> io:fwrite("Hello World").
Definición del programa anterior2propiedades personalizadas: author y version, respectivamente, se utilizan para representar al autor y el número de versión del programa.
El resultado de salida del código anterior es -
Hello World
Propiedades predefinidas
Erlang tiene ciertas propiedades predefinidas que se pueden conectar a los módulos, veamos.
Las propiedades exportadas se usarán para exportar una lista de cantidad de parámetros y funciones a otros módulos. Definirá la interfaz del módulo. Esto ya lo hemos visto en el ejemplo anterior.
export([FunctionName1/FunctionArity1,.,FunctionNameN/FunctionArityN])
Aquí,
FunctionName − Este es el nombre de la función en el programa;
FunctionArity − Este es el número de parámetros asociados con la función;
-module(helloworld). -author("TutorialPoint"). -version("1.0"). -export([start/0]). start() -> io:fwrite("Hello World").
El resultado de salida del código anterior es -
Hello World
La propiedad de importación se utiliza para importar funciones de otro módulo para usarlas localmente
-import(modulename, [functionname/parameter]).
Aquí,
Modulename − Esto es el nombre del módulo que necesita importar
functionname/parameter − Esto es la función que necesita importar en el módulo
-module(helloworld). -import(io,[fwrite/1]). -export([start/0]). start() -> fwrite("¡Hola, mundo!\n").
En el código anterior, usamos la palabra clave import para importar la biblioteca "io", especificando la importación de la función fwrite. Por lo tanto, ahora, cada vez que se llama a la función fwrite, no es necesario llevar el nombre del módulo cada vez.
El resultado de salida del código anterior es -
¡Hola, mundo!