Erlang - BIFS
BIFs são funções integradas ao Erlang. Eles geralmente realizam tarefas que são impossíveis de programar em Erlang. Por exemplo, é impossível transformar uma lista em uma tupla ou encontrar a hora e a data atuais. Para realizar essa operação, chamamos um BIF.
Vamos dar um exemplo de como os BIFs são usados -
Exemplo
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~p~n",[tuple_to_list({1,2,3})]),
io:fwrite("~p~n",[time()]).
As seguintes coisas precisam ser observadas sobre o exemplo acima -
No primeiro exemplo, estamos usando o BIF chamado tuple_to_list para converter uma tupla em uma lista.
Na segunda função BIF, estamos usando o time function para gerar a hora do sistema.
O resultado do programa acima será o seguinte -
Resultado
[1,2,3]
{10,54,56}
Vejamos algumas das funções BIF disponíveis em Erlang.
Sr. Não. | Funções e descrição BIF |
---|---|
1 |
Este método retorna a data atual do sistema. |
2 |
Este método retorna o número de bytes contidos em um Bitstring. |
3 |
O método retorna o enésimo elemento na tupla. |
4 |
Este método retorna o valor flutuante de um número específico. |
5 |
O método retorna o dicionário do processo como uma lista. |
6 |
Este método é usado para colocar um key,value par no dicionário do processo. |
7 |
O método é usado para fornecer a data e hora local no sistema. |
8 |
Retorna uma lista contendo informações sobre a memória alocada dinamicamente pelo emulador Erlang. |
9 |
Este método retorna a tupla {MegaSecs, Secs, MicroSecs} que é o tempo decorrido desde 00:00 GMT de 1º de janeiro de 1970. |
10 |
Retorna uma lista de todas as portas no nó local |
11 |
Retorna uma lista de identificadores de processo correspondentes a todos os processos atualmente existentes no nó local. |
12 |
Retorna a data e hora atuais de acordo com o Universal Time Coordinated (UTC). |