安装
在https://elixir-lang.org 上可以找到安装说明。
使用 elixir -v
查看 elixir 的版本
更新 elixir 版本
brew upgrade elixir
交互模式
Elixir
自带了 iex
这样一个交互 shell, 可以让我们随时计算 Elixir
表达式的值。
运行 iex
image
基本类型
- 整数类型
Elixir 语言本身就支持二进制、八进制和十六进制的整数 - 浮点类型
在 Elixir 语言中,浮点数要求小数点之前必须有至少一个数字;支持 64 位多精度和e
表示的科学计数 - 布尔类型
Elixir 支持true
和false
两种布尔值,除了false
和nil
之外所有的值都为真。 - 原子类型
原子类型是名字和代表的值相同的常量
iex> :foo
:foo
iex> :foo == :bar
false
注意:布尔值 true
和 false
实际上就是对应的原子: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
还有三个操作符(and
、or
、not
),它们的第一个参数必须是布尔类型(true
和 false
):
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"
网友评论