Ruby中的Erlang

是否有可能将Ruby嵌入到Erlang中? Yecc会成为正确的工具吗? 如果有可能需要多少工时,粗略估计?

有一个名为Elixir的东西由Jose Valim url http://elixir-lang.org/这让你可以编写类似ruby的代码并在erlang VM上运行它。

所以代码看起来在许多地方类似,如:

iex> name = "world" iex> "hello #{name}" "hello world" 

在许多人更多Erlang’y:

 # function iex> x = fn(a, b) -> a + b end #Fun iex> x.(1, 2) 3 

和modules =):

 iex> defmodule Math do ...> def sum(a, b) do ...> a + b ...> end ...> end iex> Math.sum(1, 2) 3 

它以任何方式帮助您。 我知道Jose最近再次开始大量工作,因为他停下来专注于Rails。 可能他会得到Riak集成和某种Web框架。 这可能很有趣!

Erlectricity将Ruby暴露给Erlang,反之亦然:

http://github.com/mojombo/erlectricity

您需要更详细地解释您想要做什么。 在这种情况下,“嵌入”是一个相当含糊的词。

如果您打算在Erlang中实现Ruby解析器/解释器,那么Yecc是合适的,但我猜这不是您想要做的。

如果你想从Erlang调用Ruby代码,可以用类似于Erlang的jinterface应用程序与Java交谈的方式来完成。 (你也可以在这个主题上谷歌 。)

你不能指望在不花一两个星期工作的情况下获得任何实际的估计,弄清楚应该做什么以及如何做。 否则,你最终会得到“2个月到2年之间的任何东西”,这可能不是很有帮助。

根据您的任务的具体情况,您可以做一些简单的事情,如通过STDIN / OUT生成一个ruby进程来与之交谈。

如果你想评估Erlang中的一些ruby代码,你应该准备花大约一年的时间来启动简单的代码。

Ruby语法非常复杂,而且erlang有一个不同的VM。