草庐IT

erlang-nif

全部标签

c++ - Actor 模型 : Why is Erlang/OTP special? 你能用另一种语言吗?

我一直在研究学习Erlang/OTP,因此,我一直在阅读(好吧,略读)关于actor模型的内容。据我了解,actor模型只是一组函数(在Erlang/OTP中称为“进程”的轻量级线程中运行),它们仅通过消息传递相互通信。用C++或任何其他语言实现这似乎相当简单:classBaseActor{std::queuemessages;CriticalSectionmessagecs;BaseMessage*Pop();public:voidPush(BaseMessage*message){autoscopedlock=messagecs.AquireScopedLock();message

build - 您使用什么工具来构建 Erlang 程序?

您使用什么工具来构建Erlang程序:Emake、makiefile还是其他? 最佳答案 自从有了这些答案,Erlang社区中出现了一个新标准:钢筋https://github.com/basho/rebar/ 关于build-您使用什么工具来构建Erlang程序?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1582818/

formatting - 如何在 Erlang 中使用填充格式化数字

我需要将一个整数的输出填充到给定的长度。例如,长度为4位,整数4的输出是“0004”而不是“4”。如何在Erlang中做到这一点? 最佳答案 为Zed的回答添加一点解释:ErlangFormatspecification是:~F.P.PadModC。"~4..0B~n"翻译成:~F.=~4.(Fieldwidthof4)P.=.(noPrecisionspecified)Pad=0(Padwithzeroes)Mod=(nocontrolsequenceModifierspecified)C=B(ControlsequenceB=i

ruby - Erlang 中的 Apple 推送通知(或在 Ruby 中改进?)

我目前在我的服务器上使用Ruby运行Apple推送通知。我想让一个在Erlang中运行,因为我想用一个主管来监视它。有没有人有任何代码可以帮助我?这是我的Ruby代码。我不喜欢这个当前实现的一件事是它似乎没有保持连接-它每天断开连接2-3次,而且在我重新连接后似乎第一次推送不会通过:context=OpenSSL::SSL::SSLContext.newcontext.cert=OpenSSL::X509::Certificate.new(File.read(cert))context.key=OpenSSL::PKey::RSA.new(File.read(cert))defconn

ruby - 从 Ruby 调用 Erlang

从Ruby应用程序调用Erlang函数时,我应该使用什么最棒的gem?我希望使用rspec来测试一些gen_server的东西。Erlectricity看起来很可靠,但没有像Node#rpc这样的东西,只是消息传递。有什么想法吗? 最佳答案 嗯。我正在使用BERT-RPC并且对它很满意。http://github.com/mojombo/bertrpc 关于ruby-从Ruby调用Erlang,我们在StackOverflow上找到一个类似的问题: https

ruby - 无需递归或使用 Ruby/Erlang 堆栈迭代生成排列

我想生成一个列表的所有排列,但我想在将它们添加到堆栈或存储在任何地方之前过滤掉一些排列。我将根据一些自定义的临时规则过滤掉排列。换句话说,我想生成一个大列表(50-300个元素)的排列列表,但我想在这个过程中扔掉大部分生成的排列(我知道完整的数字排列数是N!)。我已经尝试使用Ruby的Array.permutation.to_a,但看起来它在执行期间保持了完整的堆栈,所以我很快就用完了内存(8GB)。我也试过thisErlang解决方案,但它的性能似乎与之前的Ruby解决方案类似。这个问题有没有定制的解决方案?附言我读过this和this,但不幸的是我不懂C/C++。

ruby - Erlang 与 Ruby 列表理解

我刚开始学习Erlang,非常喜欢他们的列表理解语法,例如:Weather=[{toronto,rain},{montreal,storms},{london,fog},{paris,sun},{boston,fog},{vancounver,snow}].FoggyPlaces=[X||{X,fog}在这种情况下,FoggyPlaces的计算结果将是“london”和“boston”。在Ruby中执行此操作的最佳方法是什么?例如,像这样的数组(我相信很常见):weather=[{city:'toronto',weather::rain},{city:'montreal',weathe

ruby - 无需在 Erlang 或 Ruby 中保留堆栈即可生成集合的幂集

我想生成一个相当大的集合(大约30-50个元素)的幂集,我知道需要2^n来存储幂集。是否可以一次生成一个子集?即通过迭代生成一个集合的幂集,将每个生成的子集保存到磁盘/数据库,将其从堆栈/内存中删除,然后才继续生成其他子集?不幸的是我修改失败Erlang和Ruby我需要的示例。 最佳答案 编辑:如果没有给出block,则添加枚举器(如@JörgWMittag)。classArraydefpowersetreturnto_enum(:powerset)unlessblock_given?1.upto(self.size)do|n|se

ruby - 如果我非常喜欢 Ruby,我现在是否应该学习另一种语言,例如 Lua 或 Erlang?

如果我非常喜欢Ruby,我现在是否应该学习另一种语言,例如Lua或Erlang? 最佳答案 新的编程语言,就像口头语言一样,可以开辟新的视角。学习新语言——尤其是那些与你习惯的语言截然不同的语言(Erlang可能符合这一要求)——可以教给你许多你甚至不知道你不知道的东西'知道编程。所以是的,我认为你绝对应该这样做,即使你只是学到了足够多的东西来修补它并感受一下新语言。 关于ruby-如果我非常喜欢Ruby,我现在是否应该学习另一种语言,例如Lua或Erlang?,我们在StackOver

java - 为什么说 Erlang 比 Java 和 C++ 更适合网页游戏中的服务器端编程?

我不太明白,Erlang怎么可能比C++更高效? 最佳答案 Erlang的效率远低于C++。Erlang的最大优势是可扩展性,而不是效率。它将跨多个CPU线性扩展,并且由于其编程和通信模型,将非常容易跨机器集群扩展。需要明确的是,Erlang不会比C++扩展更多;它只是比C++更容易扩展。很多更容易。见ConcurrentProgramminginErlang的第5章和第6章很好地解释为什么会这样。 关于java-为什么说Erlang比Java和C++更适合网页游戏中的服务器端编程?,我