BIFs是内置在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()]).
关于上述示例,需要注意以下几点:
在第一个示例中,我们使用名为tuple_to_list的BIF将一个tuple转换为一个list。
在第二个BIF函数中,我们使用time 函数来输出系统时间。
上面程序的输出如下:
[1,2,3] {10,54,56}
让我们看一下Erlang中更多可用的BIF函数。
序号 | BIF函数和说明 |
---|---|
1 | 此方法返回当前系统日期。 |
2 | 此方法返回一个位串中包含的字节数。 |
3 | 该方法返回元组中的第N个元素。 |
4 | 此方法返回特定数字的浮点值。 |
5 | 该方法将过程字典作为列表返回。 |
6 | 此方法用于key,value在过程字典中放置一个键值对。 |
7 | 该方法用于给出系统中的本地日期和时间。 |
8 | 返回一个列表,其中包含有关 Erlang 模拟器动态分配的内存的信息。 |
9 | 此方法返回元组{MegaSecs,Secs,MicroSecs},它是自1970年1月1日格林威治标准时间00:00开始经过的时间。 |
10 | 返回本地节点上所有端口的列表 |
11 | 返回与本地节点上当前存在的所有进程相对应的进程标识符的列表。 |
12 | 根据世界标准时间(UTC)返回当前日期和时间。 |