8

我有兴趣让一些 Python 代码在 Windows、Linux 和可能的其他平台上与一些 Ruby 代码对话。具体来说,我想从 Python 访问 Ruby 中的类并调用它们的方法、访问它们的数据、创建新实例等等。

一个明显的方法是通过 XML-RPC 或 CORBA 之类的方法,但我会对任何其他方法感兴趣。

其他人做了什么来让 Python 和 Ruby 的代码相互通信,无论是在同一系统上本地还是通过网络远程通信?

提前致谢。

4

5 回答 5

4

好吧,您可以尝试命名管道或类似的东西,但我真的认为 XML-RPC 将是最令人头疼的方式。

于 2008-10-15T23:11:54.427 回答
3

请注意,我在这里不是根据个人经验说话,但我认为 JRuby 和 Jython(JVM 中的 ruby​​ 和 python 实现)能够轻松地相互交谈,以及 Java 代码。你可能想调查一下。

于 2008-10-15T22:55:14.867 回答
2

这不是你想要的,但值得一读:embed Python interpreter in Ruby: this code's pretty old

http://www.goto.info.waseda.ac.jp/~fukusima/ruby/python/doc/index.html

或者:为什么,重写字节码

http://github.com/why/unholy/tree/master

于 2008-10-16T08:50:10.033 回答
1

使用 JRuby/Jython 实现 Ruby/Python 互操作性? 有更多信息。注意:JRuby 和 Jython 没有对象兼容性,但 IronPython 和 IronRuby 有。

于 2011-02-01T06:46:58.080 回答
1

使用 Sinatra、Rails 或普通的旧 Rack 将 Ruby 类公开为 Web 服务。

使用 web.py、flask、Django 或 App Engine 将 Python 类公开为 Web 服务。

使用 HTTParty for Ruby 将 API 构建到 Python 类中。

使用 Python REST 库将 API 构建到 Ruby 类中。

于 2011-02-01T06:53:07.367 回答