Elixir Enum vs Erlang列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elixir Enum vs Erlang列表相关的知识,希望对你有一定的参考价值。

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

另外elixir-lang.org声明“Elixir提供了与Erlang库的出色互操作性。实际上,Elixir不鼓励简单地包装Erlang库,而是直接与Erlang代码连接。”

是因为条件函数需要以不同的格式进行格式化才能使用枚举吗?

答案

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

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

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

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


话虽如此,使用Enum函数而不是基于List的函数的两个原因基本上是:

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

以上是关于Elixir Enum vs Erlang列表的主要内容,如果未能解决你的问题,请参考以下文章

混合 Elixir 和 Erlang?

如何在 Elixir 中生成随机数?

Elixir/Erlang:变量列表与许多其他列表合并时出错

如何在 erlang 或 elixir 中接收可能值列表

使用 Erlang 的 Elixir 模块失败

Docker 上的 Erlang/Elixir 和热代码交换