erlang相关内容
我使用erlangsETS功能缓存了一堆邮政编码和经度值。 描绘以下内容. iex()> :ets.new(:postcode_cache, [:named_table]) :postcode_cache iex()> :ets.insert(:postcode_cache, [{"OX495NU", "latlongvalue"},{"M320JG", "latlongvalue"}
..
我在GitHub Actions中的Ubuntu18.04上编译了一个灵丹妙药应用程序,并试图在Amazon Linux2系统中运行它,但我收到错误&无法使用Erlang运行时系统!这可能是因为正在为另一个系统编译,而不是为主机正在运行的系统编译"; 我检查以确保两者都在x86_64系统上运行,看起来的确如此。 GitHub操作Ubuntu uname:linux fv-az21-8
..
有没有好的Erlang代码分析器/分析器?我需要一些可以为我的代码构建调用图(例如gprof)的东西。 推荐答案 对于静电代码分析,您有Xref和Dialyzer,对于评测,您可以使用cprof、fprof或eprof,referencehere。
..
我目前正在努力掌握Erlang。这是我研究的第一种函数式编程语言,我注意到在Erlang中,您所做的每个赋值都是单个赋值。显然,不仅在Erlang中,而且在许多其他函数式编程语言中,赋值都是通过单一赋值来完成的。 我真的不明白他们为什么要做这个。单项作业的目的究竟是什么?我们能从中得到什么好处? 推荐答案 不变性(您称之为单一赋值)简化了很多事情,因为它从您的程序中去掉了&q;t
..
我正在寻找将返回列表中特定元素索引的Erlang库函数。 所以,如果 X = [10,30,50,70] lists:index_of(30, X) 将返回1,依此类推,就像java.util.List的indexOf()方法一样。 Erlang标准库中是否存在这样的方法?我试着在列表模块里找,但没找到。或者我应该自己写? 推荐答案 您必须自己定义它,如下所示
..
我想生成列表的所有排列,但我想在将某些排列添加到堆栈或存储在任何地方之前过滤掉它们. 我将根据一些自定义的临时规则过滤掉排列. 换句话说,我想生成一个大列表(50-300 个元素)的排列列表,但我想在此过程中丢弃大部分生成的排列(我知道完整的数字的排列是 N!). 我已经尝试使用 Ruby 及其 Array.permutation.to_a,但它看起来在执行过程中维护了一个完整的
..
我需要调试外部系统中的一些模块.该模块具有公共函数 foo() - 我怎么知道位置(模块和函数名称)从哪个 foo() 给定模块被调用?我的意思是调用堆栈. 我无法停止系统,我可以通过重新加载此模块来完成所有工作(但需要一些调试信息). -module(给定).-出口(foo/0).foo() ->%% 这是我的调试 - 和%% 我需要在这里(!)知道 unknown_module:unk
..
假设我有这样的事情: 试试 code_that_fails()抓住_:_->...... 如何在 catch 块中打印堆栈跟踪?该块捕获所有异常,但我不知道如何打印堆栈... 你能帮帮我吗? 解决方案 从 Erlang 21.0 开始,有一个新的官方方法来获取堆栈跟踪.异常中第三个参数的 try 表达式 中的可选模式匹配,其中将包含堆栈跟踪: 试试code_that_fails
..
我有一本字典,想把它转换成一个列表.然后我想根据第二个元素(值)对包含 {Key, Value} 对的结果列表从 min 到 max 进行排序. 列表是否有内置的排序方法来处理这个问题,或者如何做到这一点? 谢谢 解决方案 按第二个元素排序的最简单方法是定义自己的排序函数,其工作方式如下: fun({KeyA,ValA}, {KeyB,ValB}) ->{ValA,KeyA}
..
Erlang 中的参数化模块问了一个类似的问题,它是关于“什么".我的问题是关于“为什么"? OTP 技术委员会 - 影响 R16 的决定 包含有关此问题的董事会决定,但我不知道这个决定背后的原因. Stateful Module in Programming Erlang 2ndEdition by Joe Armstrong 详细介绍了这个特性,但是我看不到作者的态度. 如果
..
CouchDB,版本 0.10.0,使用原生 erlang 视图. 我有一个简单的表格文件: {"_id": "user-1","_rev": "1-9ccf63b66b62d15d75daa211c5a7fb0d",“类型":“用户",“身份标识": [“ABC",“防御",“123"],“用户名":“猴子",“名称":“猴子人"} 还有一份基本的 javascript 设计文档:
..
我想用 erlang 和我的调制解调器通话.它被挂载为/dev/ttyUSB 并且完全理解 AT 命令. 我可以用标准文件模块在设备上读写吗? 波特率、字节大小、奇偶校验、RTS/CTS、DSR/DTR等怎么样? 你有任何使用 tonyg-erlang-serial-1.0 的经验吗?(我不太相信这个包,因为它在自述文件中说:“这是一个带有 erlang 驱动程序的端口程序,用于
..
假设我们有一个集合 S,其中包含一些子集: - [a,b,c]- [a,b]- [C]- [d,e,f]- [d,f]- [e] 假设 S 包含六个唯一元素:a、b、c、d、e 和 f. 我们如何才能找到所有可能的 S 子集,其中包含 S 的每个唯一元素恰好一次? 函数/方法的结果应该是这样的: [[a,b,c], [d,e,f]]; [[a,b,c], [d,f], [e
..
我想知道模式匹配通常是如何实现的.例如,在 Erlang 中,您认为它是在字节码级别实现的(它有一个字节码以便它有效地完成)还是由编译器生成为一系列指令(一系列字节码)? 这是一个非常有用的东西,我只需要将它放入我正在构建的玩具语言中. 解决方案 你可以看看如果编译一些代码会发生什么 -模块(匹配).-出口([匹配/1]).匹配(X)->{a,Y} = X. 当你想看看看起来像
..
我用 Ruby 和 Rails 编程了很长时间,然后我爱上了 Sinatra 框架的简单性,它允许我构建单页 Web 应用程序. 是否有像 Sinatra 这样的 Web 框架可用于 Erlang?我试过 Erlyweb,但它似乎太重了. 解决方案 你可以用 mochiweb 实现一些最小的东西: start() ->mochiweb_http:start([{'ip', "127
..
据说原子不会被垃圾收集.一旦你创建了一个 atom,它就会保留在 atom 表中,这最终可能会导致内存泄漏! 我是 Erlang 的新手,我的问题是:如何对原子进行垃圾收集?如果不可能,如何最小化这种影响? 解决方案 原子不是问题,除非您动态创建它们.如果你这样做了,那么你正在使 Erlang 系统崩溃. 如何动态创建原子?例如在循环中调用 list_to_atom 函数.
..
我在 db2 中有一个存储过程 创建类型 intArray 为整数数组[100]@创建或替换过程 sum(in numList intArray, out total integer)开始声明 i, n 整数;设置 n = CARDINALITY(numList);设置 i = 1;设置总计 = 100;而 (i
..
我真的很高兴看到 CouchBase 团队在为我们提供出色的 NoSQL 解决方案方面所做的出色工作.然而,尽管与 ruby、PHP、java 或 Python 相比,erlang Web 开发人员很少,但使用 erlang 的开发人员数量正在增加. 这让我明白了为什么在他们的 SDK 页面上,他们经常遗漏
..
您在 Erlang 开发中使用了哪些敏捷工具?您使用什么 持续集成 (CI) 服务器来构建 Erlang 代码?我得到的唯一参考来自 Quora 问题 如何在 Jenkins (Hudson) 中集成 Erlang 单元测试?. 我也对设置它们和互相交谈的精巧细节感兴趣. 解决方案 如果你想用 Jenkins 来做,我写了一个通用的测试钩子,它会生成 JUnit 用于测试的 XML
..
我需要将一个整数的输出填充到给定的长度. 例如,长度为 4 位,整数 4 的输出是“0004"而不是“4".如何在 Erlang 中做到这一点? 解决方案 对 Zed 的回答加一点解释: Erlang 格式规范是:~FPPadModC. "~4..0B~n" 翻译成: ~F.=〜4.(场宽 4)P. = .(未指定精度)填充 = 0(填充零)Mod =(未指定控制序列
..