erlang相关内容
当我在Erlang中创建列表时,例如在Erlang shell中: 1> [1,2]。 据我了解,在vm中,此列表将表示为单链接列表。 Erlang运行时如何创建此结构?例如,是否构造了这样的东西: 在内存中创建一个结构来保存一个终止列表的列表 在内存中创建一个结构来保存项“ 2”,并引用空列表。 在内存中创建一个结构来保存项“ 1”
..
通过此链接 要标识一个进程,我们将使用一个Pid。 我在发送/接收消息时经常看到此消息,但无法解释它在消息交互中起什么作用。 解决方案 引用文档 引用是在Erlang运行时系统中唯一的术语,通过调用make_ref / 0创建。 这意味着这是特殊的数据类型,它不是整数,不是列表,也不是二进制。尤其是随着独特的繁荣。它主要用于识别代码中的某些位置。 make_ref(
..
我继承了一个带有人偶/流浪汉/虚拟盒子设置的项目。无家可归的规定打破了我围绕rabbitmq-server的错误。 错误: ==>默认值:错误:/ Stage [main] / Rabbitmq :: Install / Package [rabbitmq-server] /确保:从清除状态更改为当前失败:执行'/ usr / bin / apt-get -q -y -o DPkg:
..
我在WinXP机器上安装了Erlang。因此,我通过“ werl.exe”使用它。问题是,我想更改一个启动werl的默认文件夹。尽管我知道一定有类似的东西,但我找不到让我这样做的选项。 有人可以帮忙吗? 解决方案 如果要在运行时在模拟器中更改目录,请使用内置的 72> cd(“ c:/ Sandbox / erl”)。 c:/ Sandbox / erl ok
..
我的项目已经突破了100万个原子,我们已经提高了限制,但是我需要对人们提交的关于list_to_atom及其朋友的代码保持理智。首先,我想获得所有已注册原子的列表,以便了解罪犯人数最多的地方。有没有办法做到这一点。我将对如何执行操作具有创造力,这样我就不会最终尝试在实时控制台中转储1-2M行。 解决方案 我不确定是否可以在实时系统上执行此操作,但是如果可以在测试环境中运行它,则应该可以通过
..
是否可以在同一平台上同时安装不同版本的Erlang / OTP? 解决方案 可能,但也很频繁。在我的机器上,我安装了一个用于开发的版本(R13B03),这是启动erl时的默认版本。 与氮相关的相同版本的第二个副本。当我启动氮气网站时会使用此副本。当我将R16B用于开发 时,版本不会更改。 是安装Wings3D时提供的部分较旧版本。
..
Erlang语法中的问号是什么意思? 例如: Json =?record_to_json(艺术家,艺术家)。 源的完整上下文可以在此处。 解决方案 Erlang使用问号来标识宏。例如考虑下面的代码: -ifdef(debug)。 -define(DEBUG(Format,Args),io:format(Format,Args))。 -其他。
..
如何等效于 C风格 if- if(a == b){ expression1 } else { expression2 } 解决方案 如果 a == b-> expr1; true-> exprElse 结束 Erlang中没有别的,您只需匹配与真实。有关详细信息,请参见 Erlang文档。 您必须密切注意';'终止符:
..
我需要从unix shell运行复杂的Erlang模块功能 rpc:call('node@example.com', mnesia,dirty_first,[mytable]) 我该怎么做? UPD: 我进行 test.escript chmod + x test.escript #!/ usr / lib64 / erl
..
是否可以从Erlang Shell而不是从erl文件(也称为模块)中定义Erlang函数? 解决方案 是的,但是很痛苦。下面是一个“ lambda函数声明”(又称 fun 用Erlang表示)。 1> F =乐趣(X)→ X + 2结束。 %%⇒#Fun 看看这个帖子。您甚至可以输入模块的价值声明(如果需要)。换句话
..
我知道Erlang中的字符串使用起来会很昂贵。那么如何将“ 5” 转换为 5 ? 是否有像 io:format(“〜p”,[5])这样的东西会返回格式化的字符串而不是打印到流中? 解决方案 以下可能不是最整洁的方法,但它可行: 1> list:flatten(io_lib:format(“〜p”,[35365]))。 “ 35365” 编辑:我发现以下功能
..
我一直在尝试学习Erlang,并且在函数和 case 语句的结尾行遇到了一些问题。 我何时在函数中使用分号(; ),逗号(,)或句点或 case 语句? 解决方案 正常代码行末尾的逗号。 br> case语句末尾或if语句等的分号。 最后一个case或if语句末尾没有任何内容。 函数末尾的句点。 示例(对不起,随机变量名称不起作用,显然它没有任何作用,但只说明了一点) :
..
我签出了钢筋,但这似乎太复杂了。也许有人可以在以下钢筋应用程序中发布如下内容:%在此处发布您的代码: %%% ----------------------------------------- -------------------------- %% @doc myapp公共API %% @end % %% -----------------------------------
..
只是让它直指我。考虑下面的Erlang代码示例: test()-> 接收 {From,what}-> %%做 test(); {From,somethingelse}-> %%做其他事情 test(); 结尾。 不是调用test()只是转到了吗? 之所以这样问,是因为在C语言中我们了解到,如果执行函数调用,则返回位置始终放在堆栈中。我无法想
..
我想使用YAML,但是Erlang没有一个成熟的YAML库。我知道有一些JSON库,但是想知道哪个库最成熟吗? 解决方案 看看mochiweb: mochijson.erl 1> mochijson:decode(“ {\” Name\“:\” Tom\“,\” Age\“:10}”)。 {struct,[{“ Name”,“ Tom”},{“ Age”,10}]}
..
我正在尝试在客户端接收数据,但是什么也没收到。 发送消息的服务器代码 client(Socket,Server)-> gen_tcp:send(套接字,“请输入您的姓名”), io:format(“已发送确认”), {ok,N} = gen_tcp:recv(Socket, 0), 大小写字符串: [Name]->的令牌(N,“ \r\n”) 客户端= #client {
..
我正在使用 httpc:request 将一些数据发布到远程服务。我的帖子正常运行,但是帖子的body()中的数据按原样通过,没有任何URL编码,这导致该帖子在通过远程服务进行解析时失败。 Erlang中是否有一个类似于 CGI的函数。 解决方案 您可以在此处找到 YAWS url_encode和url_decode例程 它们很简单,尽管注释表明所有标点字符的编码都不是100%
..
假设我有一个二进制 Message =>。 如何正确地以Unicode编码?我尝试这样做: 已编码=>>。 编译文件时收到此警告: 警告:二进制构建将失败,并带有'badarg'异常 (utf8 / utf16 / utf32段中的无效Unicode代码点)
..
我知道有exrm之类的项目可以为您做到这一点,而且看起来做得非常好。但是,出于教育目的,我想手动与release_handler一起玩,而我找不到关于该主题的文档或文章。 解决方案 您是否已阅读了解有关发布处理的一些Erlang文章? 使用发布处理程序进行升级既容易又困难。这很容易,因为一旦您了解所有细节,它几乎是自动的。但是很困难,因为首先要弄清所有细节是一项艰巨的任务。 我
..
我尝试在Mac 64位Capitan Mac上安装ErLang,但尝试通过brew安装它,但是当我尝试运行:observer.start时,出现此错误: **(UndefinedFunctionError)未定义函数:wx_object.start / 3(模块:wx_object不可用) :wx_object.start(:observer_wx,[] ,[]) rator_wx.erl
..