Erlang - 内建函数 (BIFS)



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 将元组转换为列表。

  • 在第二个 BIF 函数中,我们使用 time 函数输出系统时间。

上述程序的输出如下:

输出

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

让我们看看 Erlang 中提供的一些其他 BIF 函数。

序号 BIF 函数及说明
1

date

此方法返回当前系统日期。

2

byte_size

此方法返回 Bitstring 中包含的字节数。

3

element

此方法返回元组中的第 N 个元素。

4

float

此方法返回特定数字的浮点值。

5

get

此方法将进程字典作为列表返回。

6

put

此方法用于在进程字典中放置一个 键值对。

7

localtime

此方法用于提供系统上的本地日期和时间。

8

memory

返回一个列表,其中包含有关 Erlang 模拟器动态分配的内存的信息。

9

now

此方法返回元组 {MegaSecs, Secs, MicroSecs},它是自 1970 年 1 月 1 日 00:00 GMT 以来经过的时间。

10

ports

返回本地节点上的所有端口的列表。

11

processes

返回与当前在本地节点上存在的所有进程相对应的进程标识符列表。

12

universaltime

根据协调世界时 (UTC) 返回当前日期和时间。

广告