Elixir 初尝试 3 -- Enum和她的方法们

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"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Table of Contents 第⼀部分:基础 Introduction 基础集合Enum 模块 模式匹配 控制语句 函数管道操作符 模块(Module) Mix 魔符(Sigil) ⽂档模块 测试推导字符串 ⽇期和时间 ⾃定义Mix任务 IEx辅助函数 第⼆部分:⾼级 1 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 3.1 3.2 3.3 3.4 4.1 4.2 4.3 和Erlang互操作 错误处理 可执⾏⽂件 并发OTP并发 OTP Supervisors OTP 分布式 元编程 Umbrella Projects Specifications and types ⾏为GenStage 协议Nerves 第三部分:ECTO Basics Changesets 关联关系 查询第四部分:专题 Plug 嵌⼊的 Elixir(EEx) Erlang 项式存储(ETS) 2 4.4 4.5 5.1 5.2 5.3 5.4 5.5 5.6 Mnesia 数据库 调试第五部分:程序库 Guardian(基础) Poolboy Benchee Bypass Distillery(基础) StreamData 3 Introduction 绪⾔第⼀部分:基础 基础集合Enum 模块 模式匹配 控制语句 函数管道操作符 模块(Module) Mix 魔符(Sigil) ⽂档模块 测试推导字符串 ⽇期和时间 ⾃定义Mix任务 IEx辅助函数 第⼆部分:⾼级 和Erlang互操作 错误处理 可执⾏⽂件 并发OTP并发 OTP Supervisors 4 Introduction OTP 分布式 元编程 Umbrella Projects Specifications and types ⾏为GenStage 协议Nerves 第三部分:ECTO Basics Changesets 关联关系 查询 第四部分:专题 Plug 嵌⼊的 Elixir(EEx) Erlang 项式存储(ETS) Mnesia 数据库 调试 第五部分:程序库 Guardian(基础) Poolboy Benchee Bypass Distillery(基础) StreamData

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值