美文网首页
Elixir-基础

Elixir-基础

作者: 你期待的花开 | 来源:发表于2018-11-14 17:35 被阅读93次

安装

https://elixir-lang.org 上可以找到安装说明。

使用 elixir -v 查看 elixir 的版本

更新 elixir 版本

brew upgrade elixir

交互模式

Elixir 自带了 iex 这样一个交互 shell, 可以让我们随时计算 Elixir表达式的值。

运行 iex
image

基本类型

  • 整数类型
    Elixir 语言本身就支持二进制、八进制和十六进制的整数
  • 浮点类型
    在 Elixir 语言中,浮点数要求小数点之前必须有至少一个数字;支持 64 位多精度和e表示的科学计数
  • 布尔类型
    Elixir 支持truefalse 两种布尔值,除了falsenil之外所有的值都为真。
  • 原子类型
    原子类型是名字和代表的值相同的常量
iex> :foo
:foo
iex> :foo == :bar
false

注意:布尔值 truefalse 实际上就是对应的原子:true:false

iex> true |> is_atom
true
iex> :true |> is_boolean
true
iex> :true === true
true

Elixir 模块的名字也是原子,即使实际上还不存在这个模块,MyApp.MyModule也是一个合法的原子名称。

iex> is_atom(MyApp.MyModule)
true

Elixir 以大写字母开始的别名也是原子。

iex> is_atom(JustMyAliasTest)
true

原子也可以用来直接引用 Erlang 标准库的模块,包括内置的模块。

iex> :crypto.strong_rand_bytes 3
<<23, 104, 108>>
  • 字符串
    Elixir 的字符串是 UTF-8 编码的,用双引号包住,字符串支持换行符和转义字符
iex> "foo
...> bar"
"foo\nbar"
iex> "foo\nbar"
"foo\nbar"

基本操作

算术运算

Elixir 支持基本的 +、-、*、/操作符,不过要注意 / 的结果是浮点数。

iex> 2 + 2
4
iex> 2 - 1
1
iex> 2 * 5
10
iex> 10 / 5
2.0

Elixir 提供了整数除法和求余的两个方法

iex> div(10, 5)
2
iex> rem(10, 3)
1

注:
余数的英文 remainder
整数的英文 devision

布尔运算

Elixir 提供了||&&!布尔操作符,它们支持任何类型的操作:

iex> -20 || true
-20
iex> false || 42
42

iex> 42 && true
true
iex> 42 && nil
nil

iex> !42
false
iex> !false
true

还有三个操作符(andornot),它们的第一个参数必须是布尔类型(truefalse):

iex> true and 42
42
iex> false or true
true
iex> not false
true
iex> 42 and true
** (ArgumentError) argument error: 42
iex> not 42
** (ArgumentError) argument error

比较

Elixir 有我们习惯的一切比较运算符 :==,!=,===,!==, <=, >=, <>
对于整数和浮点数的严格比较,可以使用 ===

Elixir 有一个很重要的特性,那就是任意两个类型之间都可以进行比较,这在排序的时候非常有用。
number < atom < reference < function < port < pid < tuple < map < list < bitstring

字符串插值

iex> name = "Sean"
iex> "Hello #{name}"
"Hello Sean"

字符串拼接

使用 <>操作符进行字符串拼接:

iex> name = "Sean"
iex> "Hello " <> name
"Hello Sean"

相关文章

  • Elixir-基础

    安装 在https://elixir-lang.org 上可以找到安装说明。 使用 elixir -v 查看 el...

  • Elixir-组合

    模块 模块是把函数组织到不同命名空间的最好的办法,除了能为函数分组,他还允许我们定义命名函数和私有函数。 Elix...

  • Elixir-函数

    目录 匿名函数& 操作符 模式匹配 命名函数函数名字和元数私有函数卫兵参数默认值 匿名函数 匿名函数就是没有名字,...

  • Elixir-推导

    在 Elixir 中,列表推导是循环遍历枚举值的语法糖。 基础 推导经常用来根据 Enum 和 Stream生...

  • Elixir-并发

    Elixir 的一大卖点就是对并发的支持,得益于 Erlang VM (BEAM) ,Elixir 的并发要比预期...

  • Elixir-集合

    列表、元组、关键字列表(keywords)、图(maps)、字典和函数组合子(combinators) 目录 列表...

  • Elixir-魔符

    Elixir 提供了一种叫做 魔符的语法糖来标识和处理字面量。一个魔符已~开头然后接上一个字符。Elixir 已经...

  • Elixir-模式匹配

    模式匹配是 Elixir 很强大的特性,它允许我们匹配简单值、数据结构、甚至函数。 匹配操作符 Elixir 中,...

  • Elixir-控制语句

    if 和 unless 你之前可能遇到过 if/2了,如果你使用过 Ruby,也会很熟悉 unless。它们在 E...

  • Elixir-文档模块

    Elixir提供了多种方式来编写注释或者是注解。下面是其中三种方式: # - 用于单行的注释 @moduledoc...

网友评论

      本文标题:Elixir-基础

      本文链接:https://www.haomeiwen.com/subject/npytmftx.html