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). |