erlang相关内容
函数式语言是否适合 Web 应用程序开发? 函数式语言是否适合业务/ERP/CRM 类型的应用程序? 解决方案 您描述的那种函数式语言是通用编程语言,它们用于各种事物,包括 Web 应用程序和业务应用程序.(我使用 Haskell). Haskell 是否适合 Web 应用程序? 在 Haskell 中构建商业网络应用 正如 gabor 所暗示的,最终归结为图书馆.Scal
..
有没有办法把 Erlang 编译成一个独立的可执行文件?这意味着,将它作为没有 Erlang 运行时的 exe 运行. 解决方案 虽然可以将所有内容都包含在单个 EXE 中,但您不会远离 Erlang 运行时.例如,由于其性质,像 Erlang 这样的动态语言无法真正编译为原生 x86 代码.那里必须有翻译. 可以想出一个方案,将解释器和所有 BEAM 文件捆绑到一个单独的 EXE
..
我从“Erlang and OTP in action"一书中了解到,行为这个词指的是: 行为接口,它是一组函数; 行为实现,即特定于应用程序的代码(回调模块); 行为容器,它是一个进程. 问题: Erlang/OTP 初学者应该了解哪些行为?是否可以概括地描述和理解 OTP 行为的概念? 在 Elang/OTP 的上下文中,“回调函数"实际上意味着什么? 我们可
..
我有一些 Ruby 和 Java 背景,我习惯于在错误日志中有确切的行数. 所以,如果编译的代码有错误,我会在控制台输出中看到导致异常的行数. 就像这个 Ruby 示例: my_ruby_code.rb:13:in `/': 除以 0 (ZeroDivisionError)来自 my_ruby_code.rb:13 它既简单又快速 - 我只需转到第 13 行并修复错误. 相反
..
在“Programming Erlang"一书中,据说该语言使用“单赋值"变量.在其他关于函数式编程语言的文章中,我总是读到“不可变值". “单一赋值"一词与“不可变值"的含义是否不同? 解决方案 在 erlang 中,变量可以是绑定的,也可以是未绑定的.您只能为未绑定的变量赋值.这就是单一赋值的来源,因为一旦变量被绑定,您就不能再为其分配新值.所以在 erlang 中,即使 0 和
..
我一直在阅读Erlang 和 OTP in action,并偶然发现了一个关于不正确列表的问题. 不要试图使用列表单元格这样即使你认为你有聪明的想法 - 它容易出错并且混淆人类和程序分析工具.也就是说,有用于创建的一两个有效用途不正确的列表,但它们被认为是先进的编程技术和超出了本书的范围. 超出本书的范围?它必须非常适合 Stackoverflow! 所以我的问题当然是,一些有效的用
..
一段时间以来,我一直在关注函数式编程语言和功能日益增长的知名度.我调查了他们,没有看到上诉的原因. 然后,最近我在 Codemash 参加了 Kevin Smith 的“Erlang 基础"演讲. 我很喜欢这次演讲,并了解到函数式编程的许多特性使避免线程/并发问题变得更加容易.我理解缺乏状态和可变性使得多个线程无法更改相同的数据,但是 Kevin 说(如果我理解正确的话)所有通信都是通
..
目前正在尝试理解 Elixir 中的“^"运算符.来自网站: 没有兴趣重新绑定时可以使用pin操作符^一个变量,而是匹配它之前的值匹配: 来源 - http://elixir-lang.org/getting_started/4.html 考虑到这一点,您可以像这样为符号附加一个新值: iex>x = 1 # 输出“1"即>x = 2 # 输出“2" 我也可以: iex>x
..
谁能解释一下什么是“不正确的列表"? 注意:谢谢大家!你们都摇滚! 解决方案 我认为@Vijay 的答案是迄今为止最好的答案,我只是打算将其 Erlangify. Erlang 中的 Pairs (cons cell) 写成 [Head|Tail] 而 nil 写成 [].对于头部和尾部是什么没有限制,但是如果你使用尾部链接更多的 cons 单元,你会得到一个 list.如果最
..
关于选择哪种 NoSQL 的另一个问题.但是,我还没有发现有人要求这种类型的目的,消息存储... 我制作了一个 Erlang 聊天服务器,我已经在使用 MySQL 来存储好友列表和“需要加入"信息. 我想存储消息(该用户未收到,因为他处于离线状态...)并检索它们. 我已经预先选择了 NoSQL,我不能使用像 MongoDB 这样的东西,因为它是面向 RAM 的范式,并且不能像其
..
我想每 10ms 运行一个周期性的 erlang 进程(基于挂钟时间),10ms 应该尽可能准确;实施它的正确方法应该是什么? 解决方案 如果你想要真正可靠和准确的周期性过程,你应该使用 erlang:monotonic_time/0,1 依赖于实际挂钟时间.如果您使用 Stratus3D 的 回答 你最终会落后. start_link(Period) 当 Period >0, is_i
..
我有一个用 Erlang 编写的神经网络,我刚买了一块 GeForce GTX 260 卡,上面有 240 核 GPU.使用 CUDA 作为胶水在显卡上运行它是否微不足道? 解决方案 不,使用 CUDA 不是一件小事. CUDA 编程模型基本上使用 C(有一些附加功能),但为了充分利用 GPGPU 的功能,您必须确保您的算法遵循 CUDA 指南.(请参阅 NVidia CUDA 编程
..
Erlang 以能够支持许多轻量级进程而闻名;它可以这样做,因为这些不是传统意义上的进程,甚至不是 P 线程中的线程,而是完全在用户空间中的线程. 这很好(实际上很棒).但是 Erlang 线程如何在多核/多处理器环境中并行执行呢?当然,它们必须以某种方式映射到内核线程才能在单独的内核上执行吗? 假设是这样,这是如何完成的?许多轻量级进程是否映射到单个内核线程? 或者有其他方法可
..
我想编写一个基于网络的 MMO 游戏,允许用户编写 AI 并将其作为游戏的一部分运行.我计划将 Html5 用于图形,并希望它基于网络,以便可以从智能手机访问.我需要找到一种支持沙盒、并发、热代码交换和大型库的编程语言,使事情变得更容易. 此时我的研究是关于 Erlang、Stackless Python 和 Lua.任何帮助表示赞赏. 解决方案 Erlang 不支持沙箱,所以你可能
..
基本场景是这样的:我需要从数据库加载文本,然后将该文本转换为 Elixir 模块(或 Erlang 模块),然后调用它.文本实际上与模块文件相同.所以这是一种代码热加载的形式.我想编译“文件",然后加载生成的模块,然后调用它.稍后我会卸载它.唯一的区别是代码存在于数据库中而不是磁盘上的文件中.(并且在我编写将加载它的代码时它不存在.) 我知道 Erlang 支持热代码加载,但似乎专注于在磁盘
..
http://www.erlang.org/news/35 提到这将被记录在案,但我可以在文档中找不到它. 解决方案 “元组模块"是具有两个元素的元组,模块名称和额外参数列表.例如: {my_module, [foo, bar]} 在函数调用中可以使用这样的元组代替模块名称.在这种情况下,被调用的函数将获取有问题的元组作为参数列表末尾的附加参数: 3>模块 = {lists, [[f
..
之前已经问过密切相关的问题: 为什么大多数 UI 框架都是单线程的?.莉>所有事件驱动的框架都应该是单线程的吗? 但这些问题的答案仍然让我在某些方面不清楚. 第一个问题的提问者问多线程是否有助于性能,回答者大多说不会,因为 GUI 不太可能成为现代硬件上 2D 应用程序的瓶颈.但这在我看来是一种偷偷摸摸的辩论策略.当然,如果您仔细构建了您的应用程序,除了在 UI 线程上调用 UI
..
我目前的目标是编写 Erlang 代码来计算 N 个元素的列表,其中每个元素都是它的“索引"的阶乘(因此,对于 N = 10,我想得到 [1!, 2!,3!, ..., 10!]).更重要的是,我希望每个元素都在一个单独的过程中进行计算(我知道它的效率很低,但我希望我可以实现它,并在以后将其效率与其他方法进行比较). 在我的代码中,我想使用一个函数作为给定 N 的“循环",对于 N、N-1、
..
正如标题所说,我有一个用 Erlang 编写的服务器,一个用 Java 编写的客户端,它们通过 TCP 进行通信.我面临的问题是 gen_tcp:recv 显然不知道何时收到来自客户端的“完整"消息,因此将其“拆分"为多条消息. 这是我正在做的一个例子(不完整的代码,试图只保留相关部分): 代码 Erlang 服务器 -模块(服务器).-导出([开始/1]).-define(T
..
我想在 VPS 上开发一个 Erlang/OTP 应用程序并将其部署到生产环境中. 我非常熟悉在本地机器上开发 Erlang 代码,我的问题是关于部署. 基本上,我想知道我应该采取哪些步骤才能将 Erlang 代码从本地机器移动到生产服务器并使其运行,即可供用户使用. 注意:我已经阅读了一些关于 Erlang 和命令行、Erlang code 模块,Erlang 发布,但我仍然不
..