Elixir -- Enum和它的方法们

先聊Enum可能需要先了解下Elixir的收集(collection),Elixir的收集类型可以包含任意类型的值。
常见的收集类型的数据类型有元组,列表,散列表,二进制型,字典,区间甚至可以自定义收集类型。

各种收集类型各不相同,但肯定共同点是存在的嘛。它们的共同点是都可以对它们进行遍历。
我们可以使用Enum进行迭代、过滤、组合、分割和其他收集方法。下面就是Enum和她的方法们的show。

Enum 的方法show

大部分时候,我们处理数据可以分为,筛选数据、转换数据、整理数据

筛选

根据位置查找

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

根据条件过滤

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]

  

合并

 
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"]

  

 

posted @ 2022-06-07 09:25  孤独信徒  阅读(29)  评论(0编辑  收藏  举报