Elixir基础

值类型

  整数,包括十进制(1234)、十六进制(0xcafe)、八进制(0o765)和二进制(0b1010)

  浮点数

  原子,原子是常量,用于表现某些东西的名字,它以冒号开头,其后更随一个原子单词或者Elixir运算符。我们会大量使用原子来标记值。

  区间,被表示为 开始...结束,开始和结束可以是任意类型值。但是,如果你想便利区间中的值,其两端必须是整数。

  正则表达式,写作~r{regexp}或者~r{regexp}opts

系统类型

  pid和端口,pid是对本地或者远端进程的引用,而端口是读写资源的引用。

  引用

收集类型

  元组,表示一组有序元素的集合,如同所有的Elixir数据结构,一旦元组被创建就无法修改。如:{ 1, 2 }、{ :ok, 42, "next" }

  列表,列表是一个链式数据结构,要么为空,要么由首部和尾部组成。首部包含一个值,尾部本身是一个列表。其适合线性遍历。

  关键字列表,

  散列表,散列表的每个条目的键是不同的,而关键字列表允许存在相同的键。散列表更高效,访问时同过键来访问值:

states = %{ "AL" => "Alabama", "WI" => "Wisconsin"}

states["AL"]                               # "Alabama"

如果是原子类型,还可以使用点符号。
colors = %{ res: 0xff0000, green: 0x00ff00, blue: 0x0000ff }

colors[:red]            #0x0000ff
colors.red               #0x0000ff

  二进制,

真值

  true、false、nil。nil在布尔上下文会当作false对待。true和原子类型:true等价。

运算符

  比较运算:a === b  #严格相等  1 === 1.0 为假

       a !== b  #严格不等    1 !== 1.0 为真

       a == b   #值相等  1 == 1.0 为真

       a != b    #值不等  1 != 1.0  为假

       a > b   #正常比较

       a >= b   #正常比较

       a < b   #正常比较

       a =< b   #正常比较

  布尔运算符:这些运算符优先计算第一个参数的真值。

      a or b  #a为真则真  否则求b

      a and b

      not a

  松弛布尔运算符:这些运算符接受任意类型的值,任何除了nil或者false的值都被解释为真

      a || b    #若 a 为 truthy 则为 a,否则为 b

      a && b    #若 a 为 truthy 则为 b,否则为 a

      !a

  算术运算符:+ - * / div rem

      整数除法返回浮点。采用div(a, b)可以求整数结果。rem是求余,其结果符号和第一个参数相同。

  连接运算符:binary1 <> binary2    #连接两个二进制型(二进制包含字符串)

        list1 ++ list2          #连接两个列表

        list1 ++ list2          #返回list1中有单list2中没有的元素

  in运算符:a in enum

原文地址:https://www.cnblogs.com/lr1402585172/p/11491804.html