erlang相关内容

Erlang记录表达式忽略警告

我有以下代码: Check#tab_info {login_errors = 0}, {ok,PID} ; 但是当我尝试对其进行编译时,我会收到警告: 表达式的结果将被忽略(通过将表达式分配给_变量来抑制警告) 这是怎么回事?我该如何解决? 谢谢。 解决方案 好,编译器会告诉您到底是什么问题:)您创建了一个新的 #tab_inf ..
发布时间:2020-10-30 19:12:19 其他开发

Erlang maps:remove / 2和maps:without / 2之间的实际区别

检查文档中是否有R17的新功能,地图,将我带到maps:remove / 2和maps:without / 2。我能看到的唯一明显区别是,remove / 2需要一个键并返回不带键的映射视图,而不带/ 2则接受一个列表并返回一个缺少列出键的全新映射。 22> M1 =#{foo =>酒吧,垃圾邮件=>蛋}。 #{foo => bar,spam =>蛋} 23> M2 = maps:w ..
发布时间:2020-10-30 19:11:12 其他开发

为什么在Erlang中需要spawn_link?

我了解到,如果您在链接后生成链接,则该过程可能在此期间已终止。为什么会有问题呢?不能链接看到您正在尝试链接到已经终止的进程吗?在那种情况下,它的行为就好像远程进程在调用链接后立即消失一样吗? 我认为如果可以单独生成和链接会很好,而不必在一个原子函数中一起完成操作,因为a)会使语言更加正交(spawn_link与spawn和link严重重叠)b)如果我有一个启动函数,基本上只是将spawn包裹 ..
发布时间:2020-10-30 19:10:09 其他开发

为Erlang提取C函数签名

我想知道最合适的工具是从源代码中提取c(以及最终c ++)的函数名称,参数及其类型。我想使用一种可以自动完成的工具。 我想提取签名类型,然后让其他用Erlang编写的程序读取输出。我的目标是使用此信息来构造等效于Erlang中的C类型/签名(使用ei)。我希望此过程适用于任何C文件,所以我不能使用任何硬编码的东西。 我发现很多工具看起来像CLang,CScope和ANTLR等,但我不知 ..
发布时间:2020-10-30 19:10:06 C/C++开发

在Erlang中如何获取客户端的ip和端口?

在以下代码中,服务器正在侦听端口2345。接受来自客户端的连接后,它返回 {ok,Socket} start()-> {ok,Listen} = gen_tcp:listen(2345,[binary,{packet,4}, {reuseaddr,true}, {active,true}]), {ok,套接字} = gen_tcp:accept(Listen)。 ..
发布时间:2020-10-30 19:10:00 其他开发

Erlang和Bash脚本(escript)

我在Erlang中是一个新手,想将bash脚本与Erlang节点和功能合并。 我有一个Mnesia数据库,我们进入Erlang节点并运行多个函数,但是我想通过一些bash脚本运行这些功能,以便可以在其他地方使用这些bash脚本输出。 我的Erlang shell:- sudo / opt / butler_server / bin / butler_server remote_cons ..
发布时间:2020-10-30 19:09:58 其他开发

如何检查输入是否为Erlang中的字符串?

我想编写一个函数来检查输入是否为字符串: is_string(Input )-> case check_if_string(Input)of true-> {ok,输入}; false->错误 结束。 但是我发现检查输入是否为Erlang中的字符串是很棘手的。 Erlang中的字符串定义在这里: http://erlang.org/doc/ man / s ..
发布时间:2020-10-30 19:09:53 其他开发

Erlang:ets选择并匹配性能

我发现“函数ets:select / 2和mnesia:select / 3优于ets:match / 2,ets:match_object / 2和mnesia:match_object / 3” 引用链接: http://www.erlang.org/doc/efficiency_guide/tablesDatabases.html 我读了一些有关选择和匹配之间进行比较的文章,得出结论, ..
发布时间:2020-10-30 19:08:49 其他开发

如何维护Erlang的状态?

在我已阅读的许多博客中,我已经看到人们使用 dict,ordict,record 来保持状态。我觉得这是非常重要的概念。 通常,我了解维持状态,递归的含义,但是当涉及到erlang时。.我对其处理方式含糊不清。 有帮助吗? 解决方案 状态是数据的当前排列方式。有时由于以下两个原因很难记住这一点: 状态表示程序中的数据以及程序的当前执行点,而“模式”。 我们将其不必要地构 ..
发布时间:2020-10-30 19:07:44 其他开发

如何优化Erlang中成千上万条消息的接收循环?

在《 Erlang编程》一书的“编程多核CPU”一章中,乔·阿姆斯特朗给出了映射函数并行化的一个很好的例子: pmap(F,L)-> S = self(), %% make_ref()返回唯一引用 %%我们将在此之后匹配 Ref = erlang:make_ref(), 点= map(fun(I)-> spawn(fun()-> do_f(S,Ref,F,I)end) en ..
发布时间:2020-10-30 19:07:39 其他开发

如何在erlang中读取mnesia数据库的所有记录?

我是erlang的新手,我需要对从mnesia数据库获得的所有记录进行一些操作。 Result = mnesia:dirty_read(mydatabase,{key1,key2}), 情况 的结果[]-> ?DEBUG(“未找到这样的记录”,[]); [#mydatabase {key3 = Key3}]-> %%一些操作 结束 如何向我的循环添加对所有记录执行 ..
发布时间:2020-10-30 19:07:35 其他开发

如何连接两个Erlang节点?

有人可以给我更多的可能性来连接两个Erlang节点。 我知道一种使用erlang:set_cookie / 2的方式,并且好奇是否还有另一种方式。 解决方案 1。使用 -setcookie 。 您也可以使用 -setcookie 在执行erlang时 在我的本地计算机的第一个终端中, hyun @ hyun-VirtualBox:〜$ erl -sname一个-set ..
发布时间:2020-10-30 19:07:33 其他开发

知道传递函数的参数数(erlang)

在ERLANG中:假设我们有一个函数f(),它将F1作为输入,而F1是一个函数。有没有办法知道F1输入参数的数量。 我觉得有某种解决方案,但是我不确定。例如: -module(high)。 -compile(export_all)。 f1()-> 1. f2(X)-> X. f3(X,Y)-> {X,Y}。 运行(F)-> io:format(“ F〜p〜n ..
发布时间:2020-10-30 19:06:29 其他开发

更新mnesia模式的最简单方法是什么?

例如,我在记忆中保存了 {id,name} 并想更新为 {id,name,age} ,是否每次更改架构都必须调用 transform_table ? 解决方案 最简单的方法是删除表并重新创建它。如果您需要将数据保留在表格中,请 mnesia:transform_table 是必经之路。 ..
发布时间:2020-10-30 19:05:27 其他开发

检查Erlang中的活动计时器

是否有一种简单的方法来获取以 erlang:send_after , erlang:apply_after 等在Erlang中? 解决方案 出于调试目的,您可以使用 dbg :)。 首先创建一个ets表,该表将存储所有计时器引用。 1> ets:new(timer_dbg,['public','named_table','bag'])。 timer_dbg ..
发布时间:2020-10-30 19:05:24 其他开发

懒惰和功能组成(haskell,erlang)

有人可以解释或提供一些关于惰性的功能组合如何工作的信息吗? 例如如何过滤(/ = 'W')。将Haskell中的toupper $“ justaword” 映射到与不是懒惰的erlang中的对应项相比? 解决方案 每当要求另一个字符(或结束通知)时,下一个字符(如果有的话)都映射为大写字母,与不等号的“ W”进行比较。 过滤器(/ ='W')。映射到Upper $“ justa ..

未定义的函数映射:to_json / 1

这是我从编程Erlang,第二版中学到的东西之一,但似乎不适用于shell $ erl Erlang / OTP 17 [erts-6.2] [源代码] [64位] [smp:8:8] [异步线程:10 ] [hipe] [kernel-poll:false] [dtrace] Eshell V6.2(用^ G终止) 1> Dic =#{b => 1,a => 2}。 #{ ..
发布时间:2020-10-30 19:05:18 其他开发