append_element
Erlang
1> erlang:append_element({one, two}, three).
{one,two,three}
返回一个新元组,该元组的元素比 Tuple1 多一个元素,并且包含 Tuple1 中的元素,后跟 Term 作为最后一个元素。 语义上等同于 list_to_tuple(tuple_to_list(Tuple1) ++ [术语]),但速度要快得多。
apply
Erlang
2> apply(lists, reverse, [[a, b, c]]).
[c,b,a]
3> apply(erlang, atom_to_list, ['Erlang']).
"Erlang"
返回将 Function in Module 应用于 Args 的结果。 应用的函数必须 从模块导出。该函数的 arity 是 Args 的长度。
atom_to_binary
Erlang
4> atom_to_binary('Erlang', latin1).
<<"Erlang">>
返回与文本对应的二进制文件 Atom 的表示。 如果 Encoding 为 latin1,则每个字符存在一个字节 在文本表示中。如果 Encoding 为 utf8 或 unicode,则使用 UTF-8 对字符进行编码,其中 字符可能需要多个字节
atom_to_list
Erlang
5> atom_to_list('Erlang').
"Erlang"
6> atom_to_list('你好').
[20320,22909]
返回与文本对应的 unicode 码位列表 Atom 的表示形式,
binary_part
Erlang
7> Bin = <<1,2,3,4,5,6,7,8,9,10>>.
<<1,2,3,4,5,6,7,8,9,10>>
8> binary_part(Bin,{byte_size(Bin), -5}).
<<6,7,8,9,10>>
与 binary_part(Subject, {开始,长度})
binary_to_atom
Erlang
10> binary_to_atom(<<"Erlang">>, latin1).
'Erlang'
11> binary_to_atom(<<1024/utf8>>, utf8).
'Ѐ'
返回其文本表示形式为 Binary 的原子。如果 Encoding 为 utf8 或 unicode,则二进制文件必须包含 有效的 UTF-8 序列
binary_to_float
Erlang
12> binary_to_float(<<"2.2017764e+0">>).
2.2017764
float string 格式与 Erlang 的格式相同float 文本,但下划线不是 允许。
失败:badarg 如果二进制文件包含错误的 浮点数的表示形式。
binary_to_integer
Erlang
13> binary_to_integer(<<"123">>).
123
14> binary_to_integer(<<"3FF">>, 16).
1023
binary_to_integer/1 接受相同的字符串格式 作为list_to_integer/1
失败:badarg 如果二进制文件包含错误的 整数的表示形式。
binary_to_integer/2 接受相同的字符串格式 作为list_to_integer/2 。
失败:badarg 如果二进制文件包含错误的 整数的表示形式。
binary_to_term
Erlang
16> binary_to_term(<<131,100,0,5,"hello">>, [safe]).
hello
返回一个 Erlang 术语,该术语是解码的结果 binary 对象 Binary,必须编码
bit_size
Erlang
18> bit_size(<<433:16,3:3>>).
19
19> bit_size(<<1,2,3>>).
24
返回一个整数,该整数的大小(以 Bitstring 的位为单位)
bitstring_to_list
Erlang
20> bitstring_to_list(<<433:16>>).
[1,177]
21> bitstring_to_list(<<433:16,3:3>>).
[1,177,<<3:3>>]
返回对应于 Bitstring 字节的整数列表。如果二进制文件中的位数 不能被 8 整除,则列表的最后一个元素是位字符串 包含剩余的 1-7 位。
byte_size
Erlang
22> byte_size(<<433:16,3:3>>).
3
23> byte_size(<<1,2,3>>).
3
24>
返回一个整数,该整数是所需的字节数 包含位字符串。也就是说,如果位数 在位字符串中不能被 8 整除,则得到 字节数向上舍入。
date
Erlang
24> date().
{2024,1,29}
以 {Year, Month, Day} 的形式返回当前日期。
decode_packet
Erlang
25> erlang:decode_packet(1,<<3,"abcd">>,[]).
{ok,<<"abc">>,<<"d">>}
根据数据包对二进制Bin进行解码 由 Type 指定的协议。与数据包相似 由带有选项 {packet,Type} 的套接字完成处理。
如果整个数据包包含在 Bin 中,则它是 与二进制文件的其余部分一起返回为 {ok,Packet,Rest}。
如果 Bin 不包含整个数据包,则返回 {more,Length}。长度是 数据包的预期总大小,如果预期的数据包大小未知,则为 undefined。然后,可以再次调用decode_packet并添加更多数据。
delete_element
Erlang
26> erlang:delete_element(2, {one, two, three}).
{one,three}
返回一个新元组,其中 Index 处的元素从元组 Tuple1 中删除
element
Erlang
27> element(2, {a, b, c}).
b
返回 Tuple 的第 N个元素(从 1 开始编号)
erase
Erlang
28> put(key1, {1, 2, 3}),
28> put(key2, [a, b, c]),
28> erase().
[{key2,[a,b,c]},{key1,{1,2,3}}]
返回进程字典并将其删除,
Erlang
29> put(key1, {merry, lambs, are, playing}),
29> X = erase(key1),
29> {X, erase(key1)}.
{{merry,lambs,are,playing},undefined}
返回与 Key 关联的值 Val 并将其从进程中删除 字典。如果没有值,则返回 undefined 与 Key 关联。平均时间 此函数当前实现的复杂度为 O(1),最坏情况下的时间复杂度为O(N), 其中 N 是流程中的项数 字典。