Erlang - BIFS

I BIF sono funzioni integrate in Erlang. Di solito svolgono attività impossibili da programmare a Erlang. Ad esempio, è impossibile trasformare un elenco in una tupla o trovare l'ora e la data correnti. Per eseguire un'operazione del genere, chiamiamo BIF.

Facciamo un esempio di come vengono utilizzati i BIF:

Esempio

-module(helloworld). 
-export([start/0]). 

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

Le seguenti cose devono essere annotate sull'esempio sopra:

  • Nel primo esempio, stiamo usando il BIF chiamato tuple_to_list per convertire una tupla in una lista.

  • Nella seconda funzione BIF, stiamo usando il time function per visualizzare l'ora di sistema.

L'output del programma di cui sopra sarà il seguente:

Produzione

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

Diamo un'occhiata ad alcune delle più funzioni BIF disponibili in Erlang.

Sr.No. Funzioni e descrizione BIF
1

Data

Questo metodo restituisce la data di sistema corrente.

2

byte_size

Questo metodo restituisce il numero di byte contenuti in una stringa di bit.

3

elemento

Il metodo restituisce l'ennesimo elemento nella tupla.

4

galleggiante

Questo metodo restituisce il valore float di un numero particolare.

5

ottenere

Il metodo restituisce il dizionario del processo come un elenco.

6

mettere

Questo metodo viene utilizzato per inserire un file key,value pair nel dizionario dei processi.

7

ora locale

Il metodo viene utilizzato per fornire la data e l'ora locali nel sistema.

8

memoria

Restituisce un elenco contenente informazioni sulla memoria allocata dinamicamente dall'emulatore Erlang.

9

adesso

Questo metodo restituisce la tupla {MegaSecs, Secs, MicroSecs} che è il tempo trascorso dalle 00:00 GMT del 1 gennaio 1970.

10

porti

Restituisce un elenco di tutte le porte sul nodo locale

11

processi

Restituisce un elenco di identificatori di processo corrispondenti a tutti i processi attualmente esistenti sul nodo locale.

12

universaltime

Restituisce la data e l'ora correnti in base a UTC (Universal Time Coordinated).