📜  Elixir-变量

📅  最后修改于: 2020-11-04 08:21:47             🧑  作者: Mango


 

变量为我们提供了程序可以操纵的命名存储。 Elixir中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。

变量类型

Elixir支持以下基本类型的变量。

整数

这些用于整数。它们在32位体系结构上的大小为32位,在64位体系结构上的大小为64位。整数始终在e剂中签名。如果整数的大小开始超过其限制,则elixir会将其转换为Big Integer,该Big Integer占用3到n个字的内存范围,以适合其内存的范围为准。

浮点数

浮点数在e剂中具有64位精度。就内存而言,它们也像整数。定义浮点数时,可以使用指数符号。

布尔型

它们可以使用2个值为true或false的值。

弦乐

字符串是用Elixir编码的utf-8。它们具有一个字符串模块,该模块为程序员提供了许多操作字符串。

匿名函数/ Lambda

这些是可以定义并分配给变量的函数,然后可以使用它们来调用此函数。

馆藏

Elixir有很多可用的集合类型。其中一些是列表,元组,映射,二进制文件等。这些将在后续章节中进行讨论。

变量声明

变量声明告诉解释器在何处以及为变量创建多少存储空间。 Elixir不允许我们仅声明变量。必须声明一个变量,并同时为其赋值。例如,要创建一个名为life的变量并为其分配值42,请执行以下操作-

life = 42

这会将变量寿命绑定到值42。如果我们想为该变量重新分配一个新值,则可以使用与上述相同的语法来实现,即

life = "Hello world"

变量命名

命名变量遵循Elixir中的snake_case约定,即所有变量必须以小写字母开头,后跟0个或多个字母(大写和小写字母),最后以可选的“?”结尾要么 ‘!’。

变量名也可以以下划线开头,但是仅在忽略变量时才必须使用该变量名,即,该变量将不再使用,而是需要分配给某个变量。

打印变量

在交互式外壳中,如果您只输入变量名,则将打印变量。例如,如果您创建一个变量-

life = 42 

然后在外壳程序中输入“ life”,您将获得以下输出:

42

但是,如果要将变量输出到控制台(从文件运行外部脚本时),则需要提供变量作为IO.puts函数的输入-

life = 42  
IO.puts life 

要么

life = 42 
IO.puts(life) 

这将为您提供以下输出-

42