zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    51Nod 1352 集合计数(扩展欧几里德)
    莫比乌斯函数
    Codefroces 919D Substring(拓扑排序+DP)
    Codeforces 918C The Monster(括号匹配+思维)
    平面分割类问题总结
    01字典树(待更新)
    进程同步和互斥??
    进程间的八种通信方式----共享内存是最快的 IPC 方式??
    super() 函数??
    HTTP协议详解??
  • 原文地址:https://www.cnblogs.com/lr1402585172/p/11491804.html
Copyright © 2011-2022 走看看