Elixir Enum vs Erlang列表

时间:2018-03-05 16:06:10

标签: erlang elixir

在Elixir中编写代码时,是否有理由在erlang列表上使用枚举库?列表有许多相同的功能,如takewhile,partition,any,all ......

elixir-lang.org也称 " Elixir提供与Erlang库的出色互操作性。事实上,Elixir不鼓励简单地包装Erlang库,而是直接与Erlang代码连接。"

是不是因为条件函数需要以不同的方式形成,而Enum用于列表?

1 个答案:

答案 0 :(得分:3)

因此,Enum是一个模块,它包含与实现Enumerable协议的数据结构一起工作的函数。

Erlang / Elixir中的列表是链接列表,在索引和插入方面,算法复杂度方面several properties

Elixir中的Enumerables是数据结构,例如列表,还有地图和地图集。 但是,如the documentation中所述:

  

Enum中的大多数函数枚举整个可枚举并返回一个列表作为结果


说的是,基于Enum的函数使用List函数的两个原因基本上是:

  1. 它们中有更多,并将为您提供解决问题的非常有用的方法
  2. 他们是多态的。随时更改关键字列表的地图,不要浪费时间重写代码库中的所有内容。