Una variable es, básicamente, algo que puede cambiar de valor. Incluso de tipo en lenguajes de programación de tipado dinámico. Por el contrario, una constante es algo que no puede variar. Algo que permanece sin cambio, inmutable.
Para definir constantes en Erlang debemos crear una macro.
%% Macro -define(MYMACRO (X,Y), X+Y). %% Valor constante -define(CONSTANTE, 3300).
Como se puede ver es muy parecido a lo que se hace en lenguajes como C.
// Macro #define MYMACRO (X,Y) (X+Y) // Valor constante #define CONSTANTE 3300
Todo claro hasta aquí...pero, ¿cómo usamos estas constantes (Macros)?
%% ... %% ... io:format("Suma = ~p~n",[?MYMACRO(34.5,32.1)]), io:format("Constante: ~p~n",[?CONSTANTE]).
constantes.erl
%% @doc Constantes en Erlang -module(constantes). -author("Codemonkey Junior"). -version("1.0.0"). -export([start/0]). -define(TITULO,"====== CONSTANTES EN ERLANG ======"). -define(MAX, 1000). -define(SUMA (X,Y), X+Y). start()-> io:format("~p~n",[?TITULO]), io:format("MAX = ~p~n",[?MAX]), X = 8.7, Y = 4.32, io:format("X = ~p, Y = ~p ~n",[X,Y]), io:format("SUMA = ~p~n",[?SUMA(X,Y)]). %% erl %% > c(constantes). %% constantes:start().
$ erl Erlang/OTP 24 [erts-12.0.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit] Eshell V12.0.2 (abort with ^G) 1> c(constantes). {ok,constantes} 2> constantes:start(). "====== CONSTANTES EN ERLANG ======" MAX = 1000 X = 8.7, Y = 4.32 SUMA = 13.02 ok 3>
Enlaces:
https://erlang.org/doc/reference_manual/macros.html
No hay comentarios:
Publicar un comentario