问题标签 [elixir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stream - 懒惰地连接一个可枚举的列表
我想编写一个类似于 List.concat/1 的函数,它接受一个可枚举的列表并将连接的列表作为连续流发出。
它会像这样工作:
到目前为止,我想出的是:
这会产生正确的结果,但显然不是懒惰的。
我没有成功尝试使用Stream.Lazy
,但真的无法理解它的内部工作原理。任何解释Stream.Lazy
将不胜感激!
erlang - Elixir - 使用它而不是普通的 erlang 有性能损失吗?
Elixir 看起来很酷,但我想知道它的缺点……如果有的话……
选择它而不是 erlang 时还有其他潜在的缺点吗?
arrays - 使用 Elixir 对数组进行深度映射
我想用 Elixir 映射一个数组(n 个数组)的每个正方形。
使用 Ruby,这可以通过以下代码来完成:
接着,
我们怎么能在 Elixir 中做同样的事情呢?谢谢你的灯!
elixir - 来自 elixir Enum.filter 的意外输出
我正在学习 Elixir,我从 PragProg 书籍“Programming Elixir”中得到的一个例子是:
输入代码后,我试着玩了一下,我写道:
太好了,这是预期的结果。现在当我这样写时:
为什么我会得到这个奇怪的'1@Qd'
字符串?
elixir - 创建具有变化状态的惰性序列(流),例如斐波那契数?
问题:是否有可能创建一个 Elixir Stream
,在内部保持某种状态,每次调用都会改变?代码看起来如何?
我很高兴看到 Elixir 0.10.2Stream
除了普通Enum
模块之外还有 s。虽然有关于如何使用Stream
s 的文档,但几乎没有文档或描述如何创建它们的全局可搜索文档。阅读Stream
模块的源代码并不是很有启发性。我还研究了 Lazily 连接一个可枚举的列表及其答案,虽然非常有趣,但它也没有涉及改变状态。
考虑在需要记住前两个值的地方生成斐波那契数。或者想想Clojure 的素数惰性序列。
我首先理解这是否可能的问题是:
- 记录的
enumerable
元素仅由一些示例设置,并且始终设置为现有的固定列表。处理无限序列的示例根本不涉及enumerable
(例如iterate
orrepeat
)。 - 提供的函数
fun
应该返回另一个函数,而不是新Stream.Lazy
记录,据我所知,这与 Clojure 的惰性序列有很大的不同,在这种惰性序列中,您使用lazy-seq
. - 累加器
acc
的使用方式仍然有些超出我的理解。看起来fun
它本身并没有修改它;取而代之的是一些调用dos的外部函数fun
。
因此我的问题。
erlang - Elixir io_lib 调用 erlang
上面的代码在 erlang 中工作,所以理想情况下,下面的代码应该可以在 elixir 中工作
但它会产生错误“没有匹配的函数子句”
检查后发现 elixir 调用了类似的模块
elixir - Elixir Dynamo 启动多个应用程序
使用 Dynamo 启动多个应用程序的最佳方式是什么。当我们创建项目时,dynamo 会生成一个默认应用程序。我想在 lib 中再添加一个应用程序,并在启动服务器后立即启动它。
但是,我尝试将它放在 lib 文件夹中,apps 文件夹也修改了 mix.exs 但混合编译不会生成应用程序文件。
elixir-mix - 如何设置默认的 Elixir 混合任务
如果我有一个mix.exs
类似的文件:
我可以愉快地使用mix my_task
.
如何将my_task
其设为默认值,以便在我mix
没有任务运行时执行?
constants - ?define 宏或 .hrl 文件在 Elixir 中替代用于配置目的
在 Erlang 中,我可以使用定义宏或 .hrl 文件将配置保存在一个地方。在 Elixir 中最好的地方是什么。
我找不到任何优雅的方法。现在我正在做类似的事情: -
我错过了什么吗?