问题标签 [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.
elixir - 为什么使用 HashDict 而不是 Dict?
Elixir 新手在这里。这个问题将是简短而甜蜜的!
我正在通过在线编程练习来学习 Elixir,并获得了关于最近提交的以下建议:
一般来说,如果可能的话,最好使用 Dict.foo 而不是 HashDict.foo。Dict 函数适用于各种字典,因此如果您的代码发生更改,您将有更少的地方需要更新。
这让我意识到我不知道什么时候应该使用 HashDict 而不是 Dict。一个人有什么特殊的美德?
recursion - 长生不老药中的尾递归调用和默认参数
我正在用 Elixir 写一个简单的例子,虽然它有效,但我不太明白如何。
当我调用 MyList.sum 时,我得到了预期的结果
我无法在第二个总和中添加默认参数,因为编译器会抛出错误
所以我的问题是, sum([1,2,3]) 是如何工作的?它与任何定义都不匹配。函数仍然是尾递归的吗?
recursion - 为什么这个循环函数每次输入都会触发两次?
执行时:
结果:
iex 没有在第 4、8 和 12 行等待用户输入 - 在收到输入后,它似乎运行了两次循环。
为什么会这样?
解决了:
显然,以这种方式使用 IO.getn 会发生一些奇怪的事情——可能将“Y”读为一个字节,而将“输入”读为一个单独的字节。替换 IO.gets 并且没有字符数似乎可以解决问题。或者,隔离 getn 方法调用可能会阻止此问题发生。
erlang - Miguel Camba 教程 Elixir 快捷键功能报错
我正在关注Elixir lang上的Miguel Camba教程。
一切都很好,直到我尝试使用以下代码段:
我尝试了以下方法:
我想运行自省,看看分别传递给(arg1,arg2)和(arg1)的对象类型是什么,并且仍然试图弄清楚如何完成它。
同时,我无法判断快捷方式 & 号方法是否有用,因为我无法让它在 iex REPL 中工作。我的问题是,在这种情况下,您如何通过自省、文档或使用快捷 & 符号方法进行故障排除。提前致谢。
elixir - 你如何使这项工作......为什么它不起作用?
我在下面试过这个:
iex(7)> String.split ("hello world") |> String.upcase |> Enum.join(" // ")
我得到了这个:
知道的人可以告诉我为什么这不起作用吗?
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)
[]
是因为我正在过滤功能吗?
javascript - Elixir 中的 OO 风格参数?
如何以类似 OO 的方式在 Elixir 中传递 self 参数?
例如,我编写了这个带有垃圾收集的 Erlang Javascript 对象:
注意:我使用https://github.com/tonyrog/resource.git进行资源收集。
elixir - Elixir 中是否有与 enhpath 等价的东西?
在 Python 中,第三方 enhpath.py 库允许这样的事情:
Elixir 中的 File 模块执行以下操作:
这对我来说效果不佳,因为我想要像上面那样的绝对路径,所以我做了类似的事情:
但从输出中可以看出,绝对路径加入了 cwd 工作目录,而不是正确的“/home/lowks/Documents”。这看起来和行为就像用于处理 Python 中路径的股票 python 库,我的问题是它们是否有一些行为类似于第三方 Python 路径库的东西?
elixir - Elixir Guard 一个特定的协议
我想知道 Elixir 是否可以保护特定的协议。
或者有什么可以断言 f 是专门的 HashDict 吗?
谢谢 !
elixir - 这个表达式链可以在没有括号的情况下重写吗?
所以我在 Elixir 中玩流,我也在玩 |> 操作符;我有很多玩 F# 的经验,所以感觉很自然。所以我尝试了这个:
只是为了吐出前十个方块的列表。但它没有用。没问题; 似乎只是运算符优先级的问题,因为这很好用:
但我想知道这是否可以重写而不必为表达式的前半部分加上括号。