Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有可能将Python或Perl与Ruby集成吗?_Python_Ruby_Perl - Fatal编程技术网

有可能将Python或Perl与Ruby集成吗?

有可能将Python或Perl与Ruby集成吗?,python,ruby,perl,Python,Ruby,Perl,有可能集成Python(和/或Perl)和Ruby吗?我已经看过了,但它们看起来都很过时 有人为Python的C API生成了Ruby接口吗 编辑:Python可以根据需要与许多其他语言集成。但是,该列表不包括Ruby。可能,但不太实用。将需要的模块从一个模块移植到另一个模块要比将一个解释器嵌入另一个模块容易得多 如果在项目中必须同时使用这两种语言,那么最好的选择可能是Jython和Jruby的组合,或者IronPython和IronRuby的组合。我不确定你是否可以让他们互相交谈,但至少你可以

有可能集成Python(和/或Perl)和Ruby吗?我已经看过了,但它们看起来都很过时

有人为Python的C API生成了Ruby接口吗


编辑:Python可以根据需要与许多其他语言集成。但是,该列表不包括Ruby。

可能,但不太实用。将需要的模块从一个模块移植到另一个模块要比将一个解释器嵌入另一个模块容易得多


如果在项目中必须同时使用这两种语言,那么最好的选择可能是Jython和Jruby的组合,或者IronPython和IronRuby的组合。我不确定你是否可以让他们互相交谈,但至少你可以把他们放在同一台虚拟机上。

对于一个研究项目,我想使用Python提供的极好的matplotlib。我还找到了你提到的那个图书馆。然而,它看起来不像是受欢迎和经过良好测试的东西。因此,我决定编写使用纯Python生成图形的脚本,并通过popen从Ruby调用它。这对我来说非常有效。

我的学校(佐治亚理工学院),连同布莱恩·莫尔和微软研究院,现在正在做一个名为的项目。基本上,它使用MicrosoftDLR允许您自由地混合Python和Ruby。我没试过,但听起来很酷

下面是网站上的一个例子。您以“Python模式”输入该类。然后对其进行编译,并在“Ruby模式”下运行该命令


这会产生“Python向Ruby打招呼”。

您可以用C为Ruby编写扩展

因此,如果Python有一个C API,您可以为Ruby编写一个使用此API的C扩展


我对pythonapi一无所知,也不知道您想要集成的部分有多大,但是如果它不是太大,这可能会(可能)为您提供一种从Ruby运行Python代码的方法

集成动态语言是本项目的目标之一。它是动态语言编译器的目标虚拟机。编译到同一个虚拟机后,您应该能够在任何语言中使用“对象”形式,而不管对象的源是什么


然而,目前的问题是稳定虚拟机并完成大部分已完成的编译器。然而,这种状态已经存在很长时间了。:)

Facebook使用的另一种策略是通过公开API。您定义了轻量级服务API,并且RPC是进程间的。

要使用Ruby的C扩展,您必须使用Ruby FFI项目-FFI不是一个要求,但它确实使与其他非MRI Ruby实现的集成成为可能。它的使用比Ruby/DL简单得多。我想稍后用Python的C API尝试这样做。谢谢。我正在寻找更像福岛Masaki的Ruby/Python项目的东西,但这是个好主意。谢谢。你到底想做什么?这听起来像是一个问题,可以从另一个角度更好地解决(比如移植一种语言中缺少的库)。我听说微软的DLR和Mono都有跨语言互操作能力,但我还没有看到一个使用它的项目。谢谢。有趣的琐事:parrot最初是一个愚人节的笑话,宣布了Python和Perl的合并。
class PythonClass:
     def hello(self, value):
         print "Python says hello to", value

pc = python_class().new
pc.hello "Ruby"