【发布时间】:2010-09-30 23:42:20
【问题描述】:
是否可以将 Ruby 嵌入到 Erlang 中? Yecc 会是正确的工具吗?如果可能的话,大概需要多少工时?
【问题讨论】:
是否可以将 Ruby 嵌入到 Erlang 中? Yecc 会是正确的工具吗?如果可能的话,大概需要多少工时?
【问题讨论】:
您需要更详细地解释您想要做什么。在这种情况下,“嵌入”是一个相当模糊的词。
如果您打算在 Erlang 中实现 Ruby 解析器/解释器,Yecc 将是合适的,但我猜这不是您想要做的。
如果你想从 Erlang 调用 Ruby 代码,这可以通过类似于 Erlang 的 jinterface 应用程序用于与 Java 对话的方式来完成。 (你也可以google这个主题。)
如果不花一两个星期的工作,弄清楚应该做什么以及如何做,你就不能期望得到任何现实的估计。否则,您最终会得到“从 2 个月到两年的任何时间”,这可能不是很有帮助。
【讨论】:
Erlectricity 将 Ruby 暴露给 Erlang,反之亦然:
【讨论】:
根据您的具体任务,您可以执行一些简单的操作,例如生成一个 ruby 进程以通过 STDIN/OUT 与之对话。
【讨论】:
Jose Valim 有一个叫做 Elixir 的东西 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<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 框架。这可能很有趣!
【讨论】:
如果你想在 Erlang 中评估一些 ruby 代码,你应该准备花大约一年的时间来发布简单的代码。
Ruby 语法非常复杂,而 erlang 有一个非常不同的虚拟机。
【讨论】: