首页 > 其他分享 >无涯教程-Erlang - BIFS

无涯教程-Erlang - BIFS

时间:2023-12-03 18:33:03浏览次数:42  
标签:返回 BIF 无涯 列表 BIFS Erlang 方法 元组

BIF是Erlang中内置的函数,他们通常执行无法在Erlang中编程的任务,如,不可能将列表变成元组,为了执行这样的操作,我们称为BIF。

让我们举一个如何使用BIF的示例-

-module(helloLearnfk). 
-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函数。

Sr.No. BIF Functions & 描述
1

date

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

2

byte_size

此方法返回一个位串中包含的字节数。

3

element

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

4

float

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

5

get

该方法将过程字典作为列表返回。

6

put

此方法用于将键,值对放入流程字典中。

7

localtime

该方法用于给出系统中的本地日期和时间。

8

memory

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

9

now

此方法返回元组{MegaSecs,Secs,MicroSecs},它是从1970年1月1日格林威治标准时间00:00开始经过的时间。

10

ports

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

11

processes

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

12

universaltime

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

参考链接

https://www.learnfk.com/erlang/erlang-bifs.html

标签:返回,BIF,无涯,列表,BIFS,Erlang,方法,元组
From: https://blog.51cto.com/u_14033984/8668763

相关文章

  • 无涯教程-Erlang - 函数
    Fun用于在Erlang中定义匿名函数,匿名函数的一般语法如下:F=fun(Arg1,Arg2,...ArgN)->...EndF                  - 这是分配给匿名函数的变量名。Arg1,Arg2,...ArgN - 这些是传递给匿名函数的参数。以下示例展示了如何......
  • 无涯教程-Erlang - 预处理
    在编译Erlang模块之前,它会由Erlang预处理程序自动处理,预处理器会扩展源文件中可能存在的所有宏,并插入任何必要的包含文件。通常,您不需要查看预处理器的输出,但是在特殊情况下(如,调试错误的宏时),您可能希望保存预处理器的输出,要查看模块some_module.erl的预处理输出,请提供OSShe......
  • 无涯教程-Erlang - 异常处理
    任何编程语言都需要异常处理来处理运行时错误,以便可以维护应用程序的正常流程。通常,当Erlang中发生异常或错误时,将显示以下消息。{"initterminatingindo_boot",{undef,[{helloLearnfk,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}故障转储将被写入-erl_......
  • 无涯教程-Erlang - Records(记录)
    Erlang具有创建records记录函数,这些records记录由字段组成,例如,您可以定义一个personal records,其中包含2个字段,一个是id,另一个是name字段。然后,您可以在Erlang中创建此records记录的各种实例,以定义具有不同名称和ID的多个personal。创建记录使用record标识符创建,在此record......
  • 无涯教程-Erlang - Maps(映射)
    Maps中的每个键-值(key-value)关联称为关联对,该对中的键和值部分称为元素,关联对的数量被称为Map的大小。我们定义了具有2个Maps的MapM1,map_size是用Erlang定义的内置函数,可用于查看Map的大小。-module(helloLearnfk).-export([start/0]).start()->M1=#{name=>john......
  • 无涯教程-Erlang - 文件I/O
    使用I/O时,Erlang提供了许多方法。它具有更简单的类,可为文件提供以下函数-读取文件写入文件查看文件是文件还是目录让我们探讨一下Erlang提供的一些文件操作,出于这些示例的目的,我们将假设有一个名为NewFile.txt的文件,其中包含以下文本行Example1Example2Example3在以下......
  • 无涯教程-Erlang - Strings(字符串)
    通过将字符串括在引号中,可以在Erlang中构造一个字符串文字,需要使用双引号(如"HelloLearnfk")构造Erlang中的字符串。-module(helloLearnfk).-export([start/0]).start()->Str1="Thisisastring",io:fwrite("~p~n",[Str1]).上面程序的输出将是-“Thisisa......
  • 无涯教程-Erlang - Lists(列表)
    列表是用于存储数据项集合的结构,在Erlang中,列表是通过将值括在方括号中来创建的。-module(helloLearnfk).-export([start/0]).start()->Lst1=[1,2,3],io:fwrite("~w~n",[Lst1]).上面示例的输出将是-[123]现在让我们讨论可用于列表的各种方法。Sr.No方法......
  • 无涯教程-Erlang - Numbers(数字)
    在Erlang中,有两种数字类型:整数(integers)和浮点数(floats)。整数示例:-module(helloLearnfk).-export([start/0]).start()->io:fwrite("~w",[1+1]).上面程序的输出如下:2浮点数示例:-module(helloLearnfk).-export([start/0]).start()->io:fwrite("~......
  • 无涯教程-Erlang - 递归
    递归是Erlang的重要组成部分,首先,让我们看看如何通过实现阶乘程序来实现简单的递归。-module(helloLearnfk).-export([fac/1,start/0]).fac(N)whenN==0->1;fac(N)whenN>0->N*fac(N-1).start()->X=fac(4),io:fwrite("~w",[X]).关于上述程序,需要......