BIF — это функции, встроенные в Erlang. Обычно они выполняют задачи, которые невозможно программировать на Erlang. Например, невозможно превратить список в кортеж или найти текущее время и дату. Для выполнения такой операции мы вызываем BIF.
Давайте рассмотрим пример использования BIF —
пример
-module(helloworld). -export([start/0]). start() -> io:fwrite("~p~n",[tuple_to_list({1,2,3})]), io:fwrite("~p~n",[time()]).
Следующие вещи должны быть отмечены о приведенном выше примере —
-
В первом примере мы используем BIF с именем tuple_to_list для преобразования кортежа в список.
-
Во второй функции BIF мы используем функцию времени для вывода системного времени.
В первом примере мы используем BIF с именем tuple_to_list для преобразования кортежа в список.
Во второй функции BIF мы используем функцию времени для вывода системного времени.
Вывод вышеуказанной программы будет следующим:
Выход
[1,2,3] {10,54,56}
Давайте посмотрим на некоторые из дополнительных функций BIF, доступных в Erlang.
Этот метод возвращает текущую системную дату.
Этот метод возвращает количество байтов, содержащихся в цепочке битов.
Метод возвращает N-й элемент в кортеже.
Этот метод возвращает значение с плавающей точкой определенного числа.
Метод возвращает словарь процесса в виде списка.
Этот метод используется для помещения пары ключ-значение в словарь процесса.
Этот метод используется для определения локальной даты и времени в системе.
Возвращает список, содержащий информацию о памяти, динамически выделяемой эмулятором Эрланга.
Этот метод возвращает кортеж {MegaSecs, Secs, MicroSecs}, который является временем, прошедшим с 00:00 по Гринвичу, 1 января 1970 года.
Возвращает список всех портов на локальном узле
Возвращает список идентификаторов процессов, соответствующих всем процессам, в настоящее время существующим на локальном узле.
Возвращает текущую дату и время в соответствии с всемирным координированным временем (UTC).