问题标签 [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.

0 投票
3 回答
590 浏览

elixir - 为什么使用 HashDict 而不是 Dict?

Elixir 新手在这里。这个问题将是简短而甜蜜的!

我正在通过在线编程练习来学习 Elixir,并获得了关于最近提交的以下建议:

一般来说,如果可能的话,最好使用 Dict.foo 而不是 HashDict.foo。Dict 函数适用于各种字典,因此如果您的代码发生更改,您将有更少的地方需要更新。

这让我意识到我不知道什么时候应该使用 HashDict 而不是 Dict。一个人有什么特殊的美德?

0 投票
1 回答
1304 浏览

recursion - 长生不老药中的尾递归调用和默认参数

我正在用 Elixir 写一个简单的例子,虽然它有效,但我不太明白如何。

当我调用 MyList.sum 时,我得到了预期的结果

我无法在第二个总和中添加默认参数,因为编译器会抛出错误

所以我的问题是, sum([1,2,3]) 是如何工作的?它与任何定义都不匹配。函数仍然是尾递归的吗?

0 投票
1 回答
65 浏览

recursion - 为什么这个循环函数每次输入都会触发两次?

执行时:

结果:


iex 没有在第 4、8 和 12 行等待用户输入 - 在收到输入后,它似乎运行了两次循环。

为什么会这样?


解决了:

显然,以这种方式使用 IO.getn 会发生一些奇怪的事情——可能将“Y”读为一个字节,而将“输入”读为一个单独的字节。替换 IO.gets 并且没有字符数似乎可以解决问题。或者,隔离 getn 方法调用可能会阻止此问题发生。

0 投票
2 回答
160 浏览

erlang - Miguel Camba 教程 Elixir 快捷键功能报错

我正在关注Elixir lang上的Miguel Camba教程。

一切都很好,直到我尝试使用以下代码段:

我尝试了以下方法:

我想运行自省,看看分别传递给(arg1,arg2)和(arg1)的对象类型是什么,并且仍然试图弄清楚如何完成它。

同时,我无法判断快捷方式 & 号方法是否有用,因为我无法让它在 iex REPL 中工作。我的问题是,在这种情况下,您如何通过自省、文档或使用快捷 & 符号方法进行故障排除。提前致谢。

0 投票
1 回答
363 浏览

elixir - 你如何使这项工作......为什么它不起作用?

我在下面试过这个:

iex(7)> String.split ("hello world") |> String.upcase |> Enum.join(" // ")

我得到了这个:

知道的人可以告诉我为什么这不起作用吗?

0 投票
1 回答
260 浏览

elixir - 为什么这个特定的字符串过滤在 Elixir 中不起作用?

为什么会这样:

iex(9)> Enum.filter(["lowks", "kian", "seong"], fn(x) -> x == "lowks" end)
["lowks"]

虽然这不会:

iex(5)> Enum.filter(String.split("low kian seong"), fn(x) -> x == "lowks" end) []

是因为我正在过滤功能吗?

0 投票
1 回答
152 浏览

javascript - Elixir 中的 OO 风格参数?

如何以类似 OO 的方式在 Elixir 中传递 self 参数?

例如,我编写了这个带有垃圾收集的 Erlang Javascript 对象:

注意:我使用https://github.com/tonyrog/resource.git进行资源收集。

0 投票
3 回答
168 浏览

elixir - Elixir 中是否有与 enhpath 等价的东西?

在 Python 中,第三方 enhpath.py 库允许这样的事情:

Elixir 中的 File 模块执行以下操作:

这对我来说效果不佳,因为我想要像上面那样的绝对路径,所以我做了类似的事情:

但从输出中可以看出,绝对路径加入了 cwd 工作目录,而不是正确的“/home/lowks/Documents”。这看起来和行为就像用于处理 Python 中路径的股票 python 库,我的问题是它们是否有一些行为类似于第三方 Python 路径库的东西?

0 投票
1 回答
421 浏览

elixir - Elixir Guard 一个特定的协议

我想知道 Elixir 是否可以保护特定的协议。

或者有什么可以断言 f 是专门的 HashDict 吗?

谢谢 !

0 投票
2 回答
295 浏览

elixir - 这个表达式链可以在没有括号的情况下重写吗?

所以我在 Elixir 中玩流,我也在玩 |> 操作符;我有很多玩 F# 的经验,所以感觉很自然。所以我尝试了这个:

只是为了吐出前十个方块的列表。但它没有用。没问题; 似乎只是运算符优先级的问题,因为这很好用:

但我想知道这是否可以重写而不必为表达式的前半部分加上括号。