2009-01-12 96 views
2

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

回答

4

Jose Valim有个叫Elixir的东西url http://elixir-lang.org/这让你可以编写Ruby代码,并在Erlang虚拟机上运行它。

所以代码类似于在很多地方,如:

iex> name = "world" 
iex> "hello #{name}" 
"hello world" 
在许多

更Erlang'y:

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

和模块=):

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

它可以帮助你以任何方式。我知道Jose最近在停下来关注Rails之后再次开始大量工作。也许他会得到Riak集成和某种Web框架。这可能很有趣!

3

你需要更详细地解释你想要做什么。 “嵌入”在这方面是一个相当模糊的词。

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

如果你想打电话从二郎的Ruby代码,这可以在类似Erlang的jinterface应用程序如何使用与Java的方式来完成。 (关于这个问题,你也可以google)。

你不能期望得到任何形式的现实估计,没有在一周或两周的工作,确切地说明应该做什么和如何做。否则,你最终会得到“2个月到两年的任何事情”,这可能不是很有帮助。

3

根据你的任务是什么,你可能可以做产卵红宝石过程通过标准输入/ OUT交谈一样简单。

+0

这是使Erlang与外部语言进行通信的最健壮,灵活,可调试的方式。 – piro 2009-01-31 12:31:58

1

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

Ruby语法非常复杂,erlang有不同的虚拟机。