小编Ult*_*ewb的帖子

Erlang中的map函数

除了具有许多arities(最多4个)的map函数之外,Prolog还允许您(在某些情况下)将多个arity函数映射到单个列表中.假设您要测试'x'是否是多个列表的成员.你可以做:

maplist(member(x),[[a,b,c,x],[3,f,s,x]]).
Run Code Online (Sandbox Code Playgroud)

包含成员的第一个参数,整个事物映射到列表中.

问题1: Erlang可以使用类似的东西吗?我在文档中找不到它,但我再也无法在任何Prolog文档中找到它.

问题2: 如何使用多个arities的map(和类似函数)?滚你自己?

谢谢.

erlang lambda functional-programming list prolog

6
推荐指数
1
解决办法
2455
查看次数

Erlang模式匹配性能

Erlang的新手.我即将开始编写一些代码.我想到的解决方案可以采用两种方式之一.我可以做一堆数学计算,或者我可以将其编码为模式匹配.当我说"模式匹配"时,我不是指正则表达式或类似的东西 - 我的意思是在子句头中的模式匹配.

性能通常不是问题,但在这个应用程序中它是.我不是问你哪种方法会更快 - 我相信你会说你不知道(取决于很多因素).我要问的是子句头中Erlang模式匹配的一般性能.换句话说,在Prolog中,引擎被优化以执行此类操作,因此在所有其他条件相同的情况下,您"鼓励"设计利用子句头中的模式匹配和统一的解决方案.

Erlang也是如此,即Erlang针对子句中的模式匹配进行了优化,类似于Prolog?我没有在这里提出这个问题,而是试图在Erlang中对此进行分析,并编写了一个玩具程序来对子条头进行模式匹配几百万次,而将列表总和几百万次.但如果设置为"几百万次",系统就会崩溃.但设置为不到几百万,结果会回来太快,让我对性能一无所知.

感谢您的任何见解.

erlang performance pattern-matching

6
推荐指数
2
解决办法
1848
查看次数