erlang相关内容

Erlang VM(BEAM)如何构造列表?

当我在Erlang中创建列表时,例如在Erlang shell中: 1> [1,2]。 据我了解,在vm中,此列表将表示为单链接列表。 Erlang运行时如何创建此结构?例如,是否构造了这样的东西: 在内存中创建一个结构来保存一个终止列表的列表 在内存中创建一个结构来保存项“ 2”,并引用空列表。 在内存中创建一个结构来保存项“ 1” ..
发布时间:2020-10-30 19:02:30 其他开发

erlang中的ref是什么?

通过此链接 要标识一个进程,我们将使用一个Pid。 我在发送/接收消息时经常看到此消息,但无法解释它在消息交互中起什么作用。 解决方案 引用文档 引用是在Erlang运行时系统中唯一的术语,通过调用make_ref / 0创建。 这意味着这是特殊的数据类型,它不是整数,不是列表,也不是二进制。尤其是随着独特的繁荣。它主要用于识别代码中的某些位置。 make_ref( ..
发布时间:2020-10-30 19:02:20 其他开发

如何安装特定版本的Erlang / OTP?

我继承了一个带有人偶/流浪汉/虚拟盒子设置的项目。无家可归的规定打破了我围绕rabbitmq-server的错误。 错误: ==>默认值:错误:/ Stage [main] / Rabbitmq :: Install / Package [rabbitmq-server] /确保:从清除状态更改为当前失败:执行'/ usr / bin / apt-get -q -y -o DPkg: ..
发布时间:2020-10-30 19:02:19 其他开发

在Windows下在Erlang Shell中更改工作目录

我在WinXP机器上安装了Erlang。因此,我通过“ werl.exe”使用它。问题是,我想更改一个启动werl的默认文件夹。尽管我知道一定有类似的东西,但我找不到让我这样做的选项。 有人可以帮忙吗? 解决方案 如果要在运行时在模拟器中更改目录,请使用内置的 72> cd(“ c:/ Sandbox / erl”)。 c:/ Sandbox / erl ok ..
发布时间:2020-10-30 19:01:15 其他开发

我可以获取所有当前已注册原子的列表吗?

我的项目已经突破了100万个原子,我们已经提高了限制,但是我需要对人们提交的关于list_to_atom及其朋友的代码保持理智。首先,我想获得所有已注册原子的列表,以便了解罪犯人数最多的地方。有没有办法做到这一点。我将对如何执行操作具有创造力,这样我就不会最终尝试在实时控制台中转储1-2M行。 解决方案 我不确定是否可以在实时系统上执行此操作,但是如果可以在测试环境中运行它,则应该可以通过 ..
发布时间:2020-10-30 19:01:11 其他开发

在机器上安装多个版本的Erlang / OTP

是否可以在同一平台上同时安装不同版本的Erlang / OTP? 解决方案 可能,但也很频繁。在我的机器上,我安装了一个用于开发的版本(R13B03),这是启动erl时的默认版本。 与氮相关的相同版本的第二个副本。当我启动氮气网站时会使用此副本。当我将R16B用于开发 时,版本不会更改。 是安装Wings3D时提供的部分较旧版本。 ..
发布时间:2020-10-30 19:01:09 其他开发

Erlang:问号语法是什么意思?

Erlang语法中的问号是什么意思? 例如: Json =?record_to_json(艺术家,艺术家)。 源的完整上下文可以在此处。 解决方案 Erlang使用问号来标识宏。例如考虑下面的代码: -ifdef(debug)。 -define(DEBUG(Format,Args),io:format(Format,Args))。 -其他。 ..
发布时间:2020-10-30 19:01:06 其他开发

如何在eshell(Erlang shell)中定义函数?

是否可以从Erlang Shell而不是从erl文件(也称为模块)中定义Erlang函数? 解决方案 是的,但是很痛苦。下面是一个“ lambda函数声明”(又称 fun 用Erlang表示)。 1> F =乐趣(X)→ X + 2结束。 %%⇒#Fun 看看这个帖子。您甚至可以输入模块的价值声明(如果需要)。换句话 ..
发布时间:2020-10-30 18:58:57 其他开发

如何在Erlang中将整数转换为字符串?

我知道Erlang中的字符串使用起来会很昂贵。那么如何将“ 5” 转换为 5 ? 是否有像 io:format(“〜p”,[5])这样的东西会返回格式化的字符串而不是打印到流中? 解决方案 以下可能不是最整洁的方法,但它可行: 1> list:flatten(io_lib:format(“〜p”,[35365]))。 “ 35365” 编辑:我发现以下功能 ..
发布时间:2020-10-30 18:57:54 其他开发

在Erlang中,何时使用;或,或。?

我一直在尝试学习Erlang,并且在函数和 case 语句的结尾行遇到了一些问题。 我何时在函数中使用分号(; ),逗号(,)或句点或 case 语句? 解决方案 正常代码行末尾的逗号。 br> case语句末尾或if语句等的分号。 最后一个case或if语句末尾没有任何内容。 函数末尾的句点。 示例(对不起,随机变量名称不起作用,显然它没有任何作用,但只说明了一点) : ..
发布时间:2020-10-30 18:57:50 其他开发

初学者安装模块最简单的方法是什么?

我签出了钢筋,但这似乎太复杂了。也许有人可以在以下钢筋应用程序中发布如下内容:%在此处发布您的代码: %%% ----------------------------------------- -------------------------- %% @doc myapp公共API %% @end % %% ----------------------------------- ..
发布时间:2020-10-30 18:56:35 其他开发

Erlang的递归函数不仅仅是goto吗?

只是让它直指我。考虑下面的Erlang代码示例: test()-> 接收 {From,what}-> %%做 test(); {From,somethingelse}-> %%做其他事情 test(); 结尾。 不是调用test()只是转到了吗? 之所以这样问,是因为在C语言中我们了解到,如果执行函数调用,则返回位置始终放在堆栈中。我无法想 ..
发布时间:2020-10-30 18:56:33 其他开发

什么是Erlang最成熟的JSON库?

我想使用YAML,但是Erlang没有一个成熟的YAML库。我知道有一些JSON库,但是想知道哪个库最成熟吗? 解决方案 看看mochiweb: mochijson.erl 1> mochijson:decode(“ {\” Name\“:\” Tom\“,\” Age\“:10}”)。 {struct,[{“ Name”,“ Tom”},{“ Age”,10}]} ..
发布时间:2020-10-30 18:55:30 其他开发

使用gen_tcp的Erlang客户端-服务器示例未收到任何信息

我正在尝试在客户端接收数据,但是什么也没收到。 发送消息的服务器代码 client(Socket,Server)-> gen_tcp:send(套接字,“请输入您的姓名”), io:format(“已发送确认”), {ok,N} = gen_tcp:recv(Socket, 0), 大小写字符串: [Name]->的令牌(N,“ \r\n”) 客户端= #client { ..
发布时间:2020-10-30 18:55:25 其他开发

您如何在Erlang中对参数进行URL编码?

我正在使用 httpc:request 将一些数据发布到远程服务。我的帖子正常运行,但是帖子的body()中的数据按原样通过,没有任何URL编码,这导致该帖子在通过远程服务进行解析时失败。 Erlang中是否有一个类似于 CGI的函数。 解决方案 您可以在此处找到 YAWS url_encode和url_decode例程 它们很简单,尽管注释表明所有标点字符的编码都不是100% ..
发布时间:2020-10-29 06:12:21 其他开发

用Erlang编码表情符号

假设我有一个二进制 Message =>。 如何正确地以Unicode编码?我尝试这样做: 已编码=>>。 编译文件时收到此警告: 警告:二进制构建将失败,并带有'badarg'异常 (utf8 / utf16 / utf32段中的无效Unicode代码点) ..
发布时间:2020-10-29 05:29:31 其他开发

Elixir:如何利用release_handler?

我知道有exrm之类的项目可以为您做到这一点,而且看起来做得非常好。但是,出于教育目的,我想手动与release_handler一起玩,而我找不到关于该主题的文档或文章。 解决方案 您是否已阅读了解有关发布处理的一些Erlang文章? 使用发布处理程序进行升级既容易又困难。这很容易,因为一旦您了解所有细节,它几乎是自动的。但是很困难,因为首先要弄清所有细节是一项艰巨的任务。 我 ..
发布时间:2020-10-28 22:34:49 其他开发

未定义函数:wx_object.start / 3

我尝试在Mac 64位Capitan Mac上安装ErLang,但尝试通过brew安装它,但是当我尝试运行:observer.start时,出现此错误: **(UndefinedFunctionError)未定义函数:wx_object.start / 3(模块:wx_object不可用) :wx_object.start(:observer_wx,[] ,[]) rator_wx.erl ..
发布时间:2020-10-28 22:30:31 其他开发