Erlang - BIFS
BIF'ler, Erlang'da yerleşik olan işlevlerdir. Genellikle Erlang'da programlanması imkansız olan görevleri yaparlar. Örneğin, bir listeyi bir demete dönüştürmek veya o anki saat ve tarihi bulmak imkansızdır. Böyle bir işlemi gerçekleştirmek için BIF diyoruz.
BIF'lerin nasıl kullanıldığına bir örnek verelim -
Misal
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~p~n",[tuple_to_list({1,2,3})]),
io:fwrite("~p~n",[time()]).
Yukarıdaki örnekle ilgili olarak aşağıdaki noktalara dikkat edilmelidir -
İlk örnekte, BIF adlı BIF'i kullanıyoruz. tuple_to_list bir demeti listeye dönüştürmek için.
İkinci BIF işlevinde, time function sistem zamanını çıkarmak için.
Yukarıdaki programın çıktısı aşağıdaki gibi olacaktır -
Çıktı
[1,2,3]
{10,54,56}
Erlang'da bulunan diğer BIF işlevlerinden bazılarına bakalım.
Sr.No. | BIF İşlevleri ve Tanımı |
---|---|
1 | tarih Bu yöntem, geçerli sistem tarihini döndürür. |
2 | bayt_boyutu Bu yöntem, bir Bitstring'de bulunan bayt sayısını döndürür. |
3 | element Yöntem, tuple'daki N. öğeyi döndürür. |
4 | yüzen Bu yöntem, belirli bir sayının float değerini döndürür. |
5 | almak Yöntem, işlem sözlüğünü bir liste olarak döndürür. |
6 | koymak Bu yöntem bir koymak için kullanılır key,value süreç sözlüğünde çift. |
7 | Yerel zaman Yöntem, sistemde yerel tarih ve saati vermek için kullanılır. |
8 | hafıza Erlang öykünücüsü tarafından dinamik olarak ayrılan bellek hakkında bilgi içeren bir liste döndürür. |
9 | şimdi Bu yöntem, 1 Ocak 1970 00:00 GMT'den beri geçen süre olan {MegaSecs, Secs, MicroSecs} başlığını döndürür. |
10 | bağlantı noktaları Yerel düğümdeki tüm bağlantı noktalarının bir listesini verir |
11 | süreçler Yerel düğümde mevcut olan tüm işlemlere karşılık gelen işlem tanımlayıcılarının bir listesini döndürür. |
12 | evrensel zaman Eşgüdümlü Evrensel Zamana (UTC) göre geçerli tarih ve saati döndürür. |