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