Erlang - BIFS
Los BIF son funciones integradas en Erlang. Suelen realizar tareas imposibles de programar en Erlang. Por ejemplo, es imposible convertir una lista en una tupla o encontrar la fecha y hora actuales. Para realizar tal operación, lo llamamos BIF.
Tomemos un ejemplo de cómo se utilizan los BIF:
Ejemplo
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~p~n",[tuple_to_list({1,2,3})]),
io:fwrite("~p~n",[time()]).
Se deben tener en cuenta las siguientes cosas sobre el ejemplo anterior:
En el primer ejemplo, estamos usando el BIF llamado tuple_to_list para convertir una tupla en una lista.
En la segunda función BIF, estamos usando la time function para generar la hora del sistema.
La salida del programa anterior será la siguiente:
Salida
[1,2,3]
{10,54,56}
Veamos algunas de las funciones más BIF disponibles en Erlang.
No Señor. | Funciones y descripción de BIF |
---|---|
1 | Este método devuelve la fecha actual del sistema. |
2 | Este método devuelve el número de bytes contenidos en una cadena de bits. |
3 | El método devuelve el elemento N de la tupla. |
4 | Este método devuelve el valor flotante de un número en particular. |
5 | El método devuelve el diccionario de procesos como una lista. |
6 | Este método se utiliza para poner un key,value emparejar en el diccionario de proceso. |
7 | El método se utiliza para dar la fecha y hora local en el sistema. |
8 | Devuelve una lista que contiene información sobre la memoria asignada dinámicamente por el emulador Erlang. |
9 | Este método devuelve la tupla {MegaSecs, Secs, MicroSecs} que es el tiempo transcurrido desde las 00:00 GMT del 1 de enero de 1970. |
10 | Devuelve una lista de todos los puertos del nodo local. |
11 | Devuelve una lista de identificadores de procesos correspondientes a todos los procesos que existen actualmente en el nodo local. |
12 | Devuelve la fecha y hora actuales según la hora universal coordinada (UTC). |