首页 > 其他分享 >无涯教程-Erlang - 数据类型

无涯教程-Erlang - 数据类型

时间:2023-12-02 16:31:53浏览次数:40  
标签:fwrite 数据类型 无涯 module start Erlang helloLearnfk

您可能希望存储各种数据类型的信息,例如string,character,wide character,integer,floating point,Boolean 等,系统根据变量的数据类型分配内存。

内置数据类型

Erlang提供了多种内置数据类型,以下是在Erlang中定义的数据类型的列表-

  • Number    -  在Erlang中,它们是integers和floats。

  • Atom         -   常量,如果atom不是以小写字母开头,或者包含字母数字字符,下划线(_)或@以外的其他字符,则将其括在单引号(')中。

  • Boolean    -   布尔类型,只有两个值: true和false。

  • Bit String  -   位字节存储

  • Tuple         -   元组是具有固定数量项的复合数据类型。

  • Map           -   映射是一种复合数据类型,具有可变数量的键-值关联。

  • List             -   列表是具有可变项数的复合数据类型。

注意-您会惊讶地发现在上面列表中的任何地方都看不到字符串String类型,那是因为没有在Erlang中专门定义的字符串数据类型。

以下是如何使用每种数据类型的示例,同样,每种数据类型将在随后的章节中详细讨论,这只是为了让您熟悉上述数据类型的简要说明。

Number 数字类型

以下程序显示了如何使用数字数据类型的示例。该程序显示了2个整数的加法。

-module(helloLearnfk).
-export([start/0]).

start() ->
   io:fwrite("~w",[1+1]).

上面程序的输出将是-

2

ATom 原子类型

Atoms应以小写字母开头,并且可以包含小写和大写字符,数字,下划线(_)和“ at”符号(@)。

以下程序显示了如何使用原子数据类型的示例。在这个程序中,我们正在创建一个名为 atom1 的原子。

-module(helloLearnfk).
-export([start/0]).

start() ->
   io:fwrite(aLearnfk1).

上面程序的输出将是-

aLearnfk1

Boolean 布尔类型

以下程序显示了如何使用布尔数据类型的示例。

-module(helloLearnfk).
-export([start/0]).

start() ->
   io:fwrite(2 =< 3).

上面程序的输出将是-

true

Bit String 位串类型

以下程序显示了如何使用位字符串数据类型的示例。binary_to_list是用Erlang定义的内置函数,可用于将位字符串转换为列表。

-module(helloLearnfk).
-export([start/0]).

start() ->
   Bin1=<<10,20>>,
   X=binary_to_list(Bin1),
   io:fwrite("~w",[X]).

上面程序的输出将是-

[10,20]

Tuple 元组类型

 tuple_size 是用Erlang定义的内置函数,可用于确定元组的大小。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   P={john,24,{june,25}} , 
   io:fwrite("~w",[tuple_size(P)]).

上面程序的输出将是-

3

Map 映射类型

 map_size 是用Erlang定义的内置函数,可用于确定Map的大小。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   M1=#{name=>john,age=>25}, 
   io:fwrite("~w",[map_size(M1)]).

上面程序的输出将是-

2

List 列表类型

length是用Erlang定义的内置函数,可用于确定列表的大小。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   L=[10,20,30] , 
   io:fwrite("~w",[length(L)]).

上面程序的输出将是-

3

参考链接

https://www.learnfk.com/erlang/erlang-data-types.html

标签:fwrite,数据类型,无涯,module,start,Erlang,helloLearnfk
From: https://blog.51cto.com/u_14033984/8657930

相关文章

  • 无涯教程-Erlang - Shell脚本
    ErlangShell用于测试表达式,以下示例展示了如何在Shell中使用加法表达式,这里需要注意的是,表达式必须以点(.)分隔符结尾。执行命令后,Shell程序会打印出一个提示,这一次是命令编号2(因为每次输入新命令时命令编号都会增加)。以下功能是ErlangShell中最常用的功能。b()   ......
  • 无涯教程-D语言 - 类静态方法函数
    让我们尝试以下示例以了解静态数据成员的概念-importstd.stdio;classBox{public:staticintobjectCount=0;//构造函数定义this(doublel=2.0,doubleb=2.0,doubleh=2.0){writeln("Constructorcalled.");length=l;......
  • 无涯教程-Erlang - 简介
    Erlang(/ˈɜːrlæŋ/)是一种通用的并发程序设计语言,它由乔·阿姆斯特朗(JoeArmstrong)在瑞典电信设备制造商爱立信所辖的计算机科学研究室开发,目的是创造一种可以应付大规模并发活动的程序设计语言和运行环境。Erlang于1987年发布正式版本,最早是爱立信拥有的私有软件,经过十年的发......
  • 无涯教程-D语言 - 构造与解析函数
    类构造函数类构造函数是该类的特殊成员函数,只要我们创建该类的新对象 ,该函数便会执行。构造函数的名称与类完全相同,没有任何返回类型,构造函数对于为某些成员变量设置初始值非常有用。以下示例解释了构造函数的概念-importstd.stdio;classLine{public:void......
  • HarmonyOS之ArkTS-常用基本数据类型及使用
    ArtTS基本数据类型:包括number、string、boolean、array、枚举类型、unknown等number:数字类型,在程序中定义一个变量指定类型一定要小写number      看了截图大家肯定有点疑惑为什么变量后面要加一个;number这就是TS的缘故,这样是为了防止后面发生变异(可被用来放......
  • 无涯教程-Python - 泊松分布
    泊松分布是显示事件在预定时间段内可能发生的次数的分布,它用于独立事件,这些事件在给定的时间间隔内以恒定的速率发生,泊松分布是一个离散函数,意味着该事件只能按发生或不发生的方式进行度量,这意味着该变量只能按整数进行度量。无涯教程使用具有内置功能的seabornpython库来创建......
  • 无涯教程-Python - 图形数据(Graph)
    CSGraph代表压缩稀疏图,其重点是基于稀疏矩阵表示的快速图算法。稀疏图图只是节点的集合,节点之间具有链接,图几乎可以代表任何事物-社交网络连接,其中每个节点都是一个人,并与熟人相连;图像,其中每个节点是一个像素,并连接到相邻像素;高维分布中的点,其中每个节点都连接到其最近的邻居,并......
  • 无涯教程-Python - 正态分布
    正态分布是通过排列数据中每个值的概率分布来呈现数据的形式,大多数值保持在平均值附近,从而使排列对称。无涯教程在numpy库中使用各种函数来数学计算正态分布的值。将创建直方图,在该直方图上绘制概率分布曲线。importmatplotlib.pyplotaspltimportnumpyasnpmu,sigma=0......
  • 无涯教程-Python - 中心趋势
    数学上的中心趋势是指测量数据集值的中心或位置分布,它给出了数据集中数据平均值的概念,并指出了这些值在数据集中分布的范围。反过来,这有助于评估将新输入拟合到现有数据集中的机会,从而评估成功的可能性。可以使用pandaspython库中的方法计算出集中趋势的三个主要量度。均值(Me......
  • 无涯教程-Python - 时间序列(Time)
    时间序列(TimeSeries)是一系列数据点,其中每个数据点都与时间戳关联,一个简单的示例是在给定的一天中,股票在不同时间点的价格,另一个示例是该地区一年中不同月份的降雨量。在下面的示例中,无涯教程以特定股票代码每天四分之一的股价价格为示例,将这些值捕获为一个csv文件,然后使用pan......