Elixir - 变量


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

变量的类型

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

整数

这些用于整数。它们的大小在 32 位架构上为 32 位,在 64 位架构上为 64 位。整数在 Elixir 中总是有符号的。如果一个整数的大小开始超出其限制,elixir 会将其转换为一个大整数,该整数会占用 3 到 n 个字的内存,以能够容纳它的内存为准。

花车

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

布尔值

它们可以采用 2 个值,即 true 或 false。

弦乐

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