Elixir - 变量



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

变量类型

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

整数

这些用于整数。在 32 位架构上大小为 32 位,在 64 位架构上大小为 64 位。Elixir 中的整数始终是有符号的。如果整数的大小开始超过其限制,Elixir 会将其转换为大整数,大整数在内存中占用 3 到 n 个字的范围,无论哪个可以容纳它。

浮点数

浮点数在 Elixir 中具有 64 位精度。它们在内存方面也类似于整数。定义浮点数时,可以使用指数表示法。

布尔值

它们可以取两个值,即真或假。

字符串

字符串在 Elixir 中使用 utf-8 编码。它们有一个字符串模块,为程序员提供了许多操作字符串的功能。

匿名函数/Lambda 表达式

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

集合

Elixir 中提供了许多集合类型。其中一些是列表、元组、映射、二进制等。这些将在后续章节中讨论。

变量声明

变量声明告诉解释器在哪里以及如何创建变量的存储空间。Elixir 不允许我们只声明一个变量。变量必须同时声明和赋值。例如,要创建一个名为 life 的变量并将其赋值为 42,我们执行以下操作:

life = 42

这将绑定变量 life 到值 42。如果我们想重新分配此变量一个新值,我们可以使用与上面相同的语法,即:

life = "Hello world"

变量命名

变量命名遵循 Elixir 中的snake_case 约定,即所有变量必须以小写字母开头,后跟 0 个或多个字母(大小写均可),最后可选地后跟 '?' 或 '!'。

变量名也可以以下划线开头,但仅在忽略变量时才使用,即该变量不会再次使用,但需要将其分配给某些内容。

打印变量

在交互式 Shell 中,如果只输入变量名,则会打印变量。例如,如果创建一个变量:

life = 42 

并在 Shell 中输入 'life',则输出为:

42

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

life = 42  
IO.puts life 

life = 42 
IO.puts(life) 

这将给出以下输出:

42
广告