问题标签 [erl]

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 投票
1 回答
119 浏览

erlang - 为什么没有将 erlang lib 更改合并到我的项目中?

我在一个相当大的项目上使用 eclipse 3.6.2 和 erlang 5.8.1.1,我们还没有准备好迁移到更现代的语言版本,所以我在 eprof 中遇到了一个错误:

这对我来说总是崩溃,因为写这篇文章的人并没有防范除零。我已经改变了:

...但我的项目从未执行过它。我已经手动重新编译了.erl并将.beam放在ebin目录下,但是在我的项目完全关闭,关闭eclipse,打开eclipse,刷新,清理和重新启动之后,没有执行新版本的方法。我尝试在方法中添加诸如“foo + 1”之类的表达式,以查看我是否得到与现在让我失望的 badarith 不同的异常,但没有效果。

我只能猜测 .beams 正在被合并或缓存在我将不得不进行核攻击或重建的某个地方?

0 投票
1 回答
1028 浏览

erlang - 如何在 Erlang 中的多个 erl 之间共享记录?

我想在我拥有的每个 erl 文件中使用 -record 。我知道我可以在每个文件中单独重复记录,但这真的很难看。

有什么建议吗?

PS:要温柔 ;-) 我是 Erlang 新手。

0 投票
2 回答
1794 浏览

erlang - 将命令传递给erl?

我们正在运行一个 erlang 程序(ejabberd)。有时,我们需要通过将 erl shell 连接到这个正在运行的 erlang 程序来进行健康检查。

我正在尝试编写所有这些脚本,而不是erl -sname r -remsh ....在 erlang shell 中键入然后我的命令,我正在寻找直接从我的 bash shell 执行该命令并获取输出的方法。这可能吗?

在 Odobenus 的回答之后,我写了这个小脚本:

问题是我得到一个“节点关闭”错误,即使这些是我用来连接的完全相同的参数erlerl -sname r -remsh ejabberd@xmpp -setcookie `cat ~ejabberd/.erlang.cookie`

0 投票
3 回答
1405 浏览

erlang - Erlang 中的选择性接收

所以我开始学习 Erlang,我对这段代码有点困惑。

我正在使用调用代码。

我知道此代码将首先处理所有高优先级消息,然后是低优先级消息。我对返回值如何 [high,high,low,low] 感到困惑,因为我看不到它们在哪里连接在一起。

0 投票
1 回答
1517 浏览

c - 将二进制文件传递给erlang nif

我正在编写一些 Erlang 代码,它基本上接受来自 TCP 连接的一些二进制数据,然后使用 C nif 解密数据并返回解密后的数据。

问题是我似乎无法弄清楚如何修改传入的二进制文件。

这是我正在使用的功能。如果有人能指出我正确的方向,我将不胜感激。

谢谢!

0 投票
1 回答
236 浏览

erlang - 如何检测erl_call断开连接

我有一个由 erl_call 触发的 erlang 服务。erl_call 将进行一个长调用,例如 "gen_server:call(?SERVER, do, infinity)" 以等待结果。如果 erlang 服务关闭,则 erl_call 将返回。但是如果 erl_call 被中断(使用 CTRL-C),erlang 服务不会收到任何消息。

我检查了 appmon 和 pman。erl_call 启动的进程在 erl_call 断开后不会死掉。所以链接/监控到那个过程是行不通的。如何检测 erl_call 已断开连接?

0 投票
7 回答
43848 浏览

vb.net - 如何在 vb.net 中使用 Stacktrace 返回错误行号

我正在尝试创建某种错误捕获方法,该方法将返回错误行号。我们有一封中止电子邮件,当进程中止时发送给我们err.numbererr.description,但我想知道实际错误在哪里。

我知道您可以执行以下操作:

等等,并使用 ERL 来获取数字,但是这样输入每一行会很乏味。

有没有一种方法可以自动执行此操作,或者使用 Stacktrace 会更容易吗?如果 Stacktrace 更好,你能给我举个例子吗?

0 投票
3 回答
2994 浏览

erlang - 如何手动向我刚刚生成的进程发送消息?

如何发送消息以使用 Erlang 进行处理?我确实启动了一个进程,输出显示 pid(进程标识符)是<0.39.0>. 我的问题是如何<0.39.0>手动向该进程 ( ) 发送消息。

0 投票
1 回答
420 浏览

erlang - `erl -make` 命令是否可以扩展来执行编译 .erl 文件以外的操作?

我想将 Elixir 集成到我们的项目中,并且好的旧代码不使用rebar,所以我认为编写构建.ex文件的规则Emakefile可能是一个好主意,但是这里的手册页没有提到任何相关内容。

编辑:

我们团队主要是在Windows环境下工作,但是部署会在Linux服务器上完成,所以我需要一个跨平台的解决方案。由于 Erlang 本身是跨平台的,所以我想用erl -make命令来做。

当然我可以写一个Makefile,但是我需要一个build.bat或类似的东西来在我们的开发环境中构建代码,因为我们的开发机器上没有make命令。

有人有更好的主意吗?

更新:

如果有人想知道,我是这样做的:

  1. 将 Elixir 源代码树中的目录复制lib/elixir到我们的源目录,例如some_project/src/tools/elixir.
  2. some_project/src/tools/elixir/src/elixir_transform.erl按顺序将和添加some_project/src/tools/elixir/src/*Emakefile,。将输出目录设置为some_project/ebin(所有其他.beam文件都位于那里)。
  3. src/elixir.app.srcElixir 源代码树复制到some_project/ebin/elixir.app,并对其进行编辑以修复版本代码。
  4. 在dir中运行erl -pa ebin -make,构建 Erlang 代码。some_project
  5. 通过运行构建 Elixir 编译器erl -pa ebin -s elixir_compiler core -s erlang halt
  6. 现在我们的代码中有一个可用的 Elixir 环境,我使用以下 escript 来构建我们的自定义.ex文件:
0 投票
3 回答
3471 浏览

rebar - 尝试构建钢筋时出现“未捕获的 rebar_core 错误”

我必须在 riak 上添加和删除节点。为此,我正在尝试按照以下链接中的步骤构建钢筋:https ://github.com/basho/rebar

当我运行引导命令时,我得到以下关于 erlang 库的信息:

我正在使用 riak 1.2.1 版本和 erlang 版本 R15B01。有人可以帮我解决这个问题吗?