问题标签 [erlang-shell]
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.
erlang - 如何将消息广播到 Erlang 中的进程列表?
我是 Erlang 的新手,我正在尝试了解如何将消息从一个进程发送到进程列表。
假设我们有一个包含 Pid 列表的数据结构。如何让 Pid 向 Pid 列表发送消息“M”,其中列表的每个元素都有 2 个元素:字符串(代表名称)和 Pid?我想出的是:
但是据我了解,我没有正确匹配 Pid 列表的模式,因此我可以从 Pid 列表的元素中“提取” Pid。
基本上,我有一个名为“looper”的函数,它不断等待新消息的到来。当它收到类型的消息时
其中“M”是我想向名为“Friends”的 Pid 列表广播的消息,R 只是一个整数。
R 基本上是一个整数,表示消息应该走多远。
在设置 Pid 并设置 Pid 之间的“友谊”后,我从终端得到的是:
任何帮助将不胜感激。谢谢
erlang - 如何将消息广播到 Erlang 中的进程列表?控制台挂
我是 Erlang 的新手,我正在尝试了解如何将消息从一个进程发送到进程列表。
假设我们有一个数据结构,其中包含一个包含字符串和 Pid 元素的列表。如何让 Pid 向作为前面描述的两个元素之一的 Pid 发送消息“M”?我想出的是:
但据我了解,我没有正确匹配 Pid 列表的模式,因此我可以从 Pid 列表的元素中“提取” Pid,或者我没有正确使用列表发送消息到它。
基本上,我有一个名为“looper”的函数,它不断等待新消息的到来。当它收到类型的消息时
其中“M”是我想向名为“Friends”的 Pid 列表广播的消息,R 只是一个整数。
R 基本上是一个整数,表示消息应该走多远。
设置 Pid、设置 Pid 之间的“友谊”并广播消息后,我从终端得到的是:
当我查看广播消息的 Pid 的消息时,控制台只是挂起,其他 Pid 没有收到任何消息。
任何帮助将不胜感激。谢谢
erlang - 在 Erlang 中向进程广播消息时出错
我是 Erlang 的新手,我正在尝试让 Pid 向其他几个 Pid 发送消息。
我有一个函数,它接受一个 Pid、一个字符串(消息)和一个整数 R(半径)作为参数。
我有这个等待接收新消息的侦听器函数:
当我调用函数广播时,我收到以下消息:
第 56 行是以下行:
据我了解,我没有正确传递消息:/我做错了什么?
file-io - 如何在erlang中打开具有相关路径的文件?
我一直在搞乱 erlang,我试图找到如何使用函数读取 .txt 文件,但我无法弄清楚如何从相关路径读取它。基本上这就是我构建项目目录的方式:
我所有的 .beam 文件都在 ebin 目录中,我需要打开“priv/”目录中的 .txt 文件。
这是我的代码:
当我调用这个函数时,我传递了一个字符串,比如:“/absolute/path/to/project/directory/priv”,但每次我都会收到这个错误。
如果我将 .txt 文件与我从中调用函数的 .beam 文件放在同一个文件夹中,那么如果我只输入文件名“foo.txt”,它就可以正常工作。
如何使函数从项目的相关路径中读取?
如果我不能这样做,那么如何读取与 .beam 文件位于同一目录中的文件夹内的文件?
例如
c - NIF 调用 Erlang 后二进制变化的值
我打算使用 NIF 为我打算在 Erlang 中编写代码的应用程序操作二进制文件。下面给出了 NIF 的 cpp 文件和 erl 文件的要点链接。
[Erl 要点链接] https://gist.github.com/abhijitiitr/3a5bc97184d6dd32f97b
[C++ 要点链接] https://gist.github.com/abhijitiitr/24d2b780f2cdacebfb07
基本上我正在尝试做一个简单的测试。在 NIF 调用之间共享二进制文件,并通过连续的 NIF 调用成功地操作它们。
如果您通过以下方式测试 erlang REPL 中的代码
二进制文件存储了 NIF 调用之间的更改。第三个命令的 REPL 输出是
我<<1>>
在初始化阶段通过了。为什么改成<<60>>
? 我无法弄清楚这里发生了什么。有人可以指出错误吗?
C++编译指令
在我的 Mac 上。
我还想询问有关在 NIF 中操作共享资源的并发进程。这是可能的还是有一个规则是必须在单个 Erlang 进程中访问 NIF。
erlang - Erlang 生成过程
以下是我尝试在其中生成 3 个进程的程序,形成一种称为最佳的方法。我想接收来自所有进程的响应并将它们存储在一个元组中,但我只能得到一个响应。
有人可以帮我解决这个问题吗
erlang - 如何检查Erlang中的列表是否为空?
基本上我有一个结构,其中包括一个值和一个 ID 列表。我想要做的是映射 Id 列表并向他们发送消息,但是当我第一次初始化 Id 列表时,我放置了变量“empty_set”。(也许我应该将它重命名为 empty_list :P)。
问题是,每当我调用 map 函数时,我首先要检查列表是否为“empty_set”,如果不是,则使用其中的 map 函数。这是代码:
这是被调用的函数:
这就是我启动该过程的方式:
问题是当我运行它时,我得到了这个错误:
据我了解,尽管 if 表达式我必须检查列表是否为空,但它仍会尝试映射它。
那么我在表达上做错了什么?
谢谢
erlang - 如何检查 Pid 是否是 Erlang 中 Pid 列表的成员?
我有一个为进程 Pid 设置值的函数,我可以让一个进程依赖于另一个进程。因此,如果我为进程设置一个值,那么我还必须为依赖它的进程设置该值。但是,如果进程之间有一个圆圈
然后我想返回一条错误消息。
我尝试通过传递一个已经更改值的 Pid 列表来做到这一点,这样如果我两次遇到同一个 Pid(通过检查它是否是 Pid 列表的成员),那么整个函数就会停止。这是我的代码:
当我运行它时,我得到这个错误:
据我了解,我给列表提供了错误的论点:成员函数。我应该怎么办?
谢谢
erlang - 如何在 Erlang 中执行系统命令并使用 os:cmd/1 获取结果?
当我尝试执行以下返回错误或在 Windows 上不退出的命令时 - 我总是得到空列表,而不是作为字符串返回的错误,例如:
我得到:
而不是像
在 linux 中 - 一切都按预期工作,所以我得到 "/bin/sh: line 1: blah: command not found\n"
因此,当我需要知道执行如何完成等时,我不能依赖该函数。请提出一些通用的方法来执行命令并获得包括错误代码在内的结果。
谢谢!
debugging - 将 erlang 的梁文件转储到文件系统
我有一个remsh
正在工作的 Erlang 应用程序:
我的问题是:如何将梁文件保存到文件系统的另一个位置?