English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

BIFS do Erlang

BIFs são funções integradas no Erlang. Elas geralmente executam tarefas que não podem ser programadas no Erlang. Por exemplo, não é possível converter uma lista em um tuple, nem encontrar a data e hora atuais. Para executar essas operações, chamamos isso de BIF.

Vamos dar um exemplo de como usar BIF.-

Exemplo online

-module(helloworld). 
-export([start/0}). 
start() ->   
   io:fwrite("~p~n",[tuple_to_list({1,2,3})]), 
   io:fwrite("~p~n",[time()]).

A respeito dos exemplos acima, é importante notar os seguintes pontos:

  • No primeiro exemplo, usamos o BIF chamado tuple_to_list para converter um tuple em uma lista.

  • No segundo BIF, usamosfunção timePara output do tempo do sistema.

A saída do programa acima é a seguinte:

[1,2,3]
{10,54,56}

Vamos ver mais funções BIF disponíveis no Erlang.

Número SequencialFunções BIF e Descrições
1

date

Este método retorna a data atual do sistema.

2

byte_size

Este método retorna o número de bytes contidos em uma sequência de bits.

3

element

Este método retorna o elemento N-ésimo do tupla.

4

float

Este método retorna o valor flutuante de um número específico.

5

get

Este método retorna o dicionário de processo como uma lista.

6

put

Este método é usado parakey,valueColoca um par de chave e valor no dicionário de processo.

7

localtime

Este método é usado para fornecer a data e hora local do sistema.

8

memory

Retorna uma lista com informações sobre a memória dinamicamente alocada pelo simulador Erlang.

9

now

Este método retorna o tupla {MegaSecs, Secs, MicroSecs}, que é desde1970 anos1Mês1Tempo decorrido desde as 00:00 do Tempo Greenwich Mean (GMT).

10

ports

Retorna uma lista de todos os portos no nó local

11

processos

Retorna uma lista de identificadores de processo correspondentes a todos os processos existentes no nó local.

12

universaltime

Retorna a data e hora atuais com base no fuso horário de tempo universal (UTC).