Elixir 初嘗試 3 -- Enum和她的方法們

Enum是啥子鬼

先聊Enum可能須要先了解下Elixir的收集(collection),Elixir的收集類型能夠包含任意類型的值。
常見的收集類型的數據類型有元組,列表,散列表,二進制型,字典,區間甚至能夠自定義收集類型。code

各類收集類型各不相同,但確定共同點是存在的嘛。它們的共同點是均可以對它們進行遍歷。
咱們可使用Enum進行迭代、過濾、組合、分割和其餘收集方法。下面就是Enum和她的方法們的show。排序

Enum 的方法show

大部分時候,咱們處理數據能夠分爲,篩選數據轉換數據整理數據字符串

篩選

根據位置查找io

iex(9)> Enum.at(1..10,0)
1
iex(10)> Enum.at(1..10,2)
3

根據條件過濾erlang

iex(29)> list= Enum.to_list 1..10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
iex(30)> Enum.filter(list,&(&1 * &1>30))
[6, 7, 8, 9, 10]
iex(31)>

轉換

變爲列表遍歷

iex(6)> Enum.to_list 1..6
[1, 2, 3, 4, 5, 6]

合併map

iex(5)> Enum.concat([1,2,3],[5,8])
[1, 2, 3, 5, 8]

映射數據類型

iex(7)> Enum.map((Enum.to_list 1..6),&(&1*&1))
[1, 4, 9, 16, 25, 36]

取最大值二進制

iex(32)> Enum.max ['12',12,"hello"]
"hello"

字符串拼接方法

iex(33)> list=["hello","world","elixir","erlang","vm"]
["hello", "world", "elixir", "erlang", "vm"]
iex(34)> Enum.join list
"helloworldelixirerlangvm"
iex(35)> Enum.join(list, ",")
"hello,world,elixir,erlang,vm"

整理

排序

iex(31)> Enum.sort ["hello","world","elixir"]
["elixir", "hello", "world"]
相關文章
相關標籤/搜索