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

10 投票
6 回答
2182 浏览
提问于 2025-04-15 20:14

有没有可能把Python(或者Perl)和Ruby结合起来呢?我查过一些资料,比如这个链接这个链接,不过它们看起来都比较过时。

有没有人做过一个可以让Ruby和Python的C接口对接的工具呢?

补充一下:根据这个链接,Python可以和很多其他语言结合使用。但是那个列表里没有Ruby。

6 个回答

2

你可以用C语言为Ruby写扩展。

也就是说,如果Python有一个C语言的接口,你就可以为Ruby写一个C扩展,利用这个接口。

我对Python的接口一点都不了解,也不知道你想整合多大的部分,但如果不是太复杂,这可能会让你从Ruby中运行Python代码。

7

我所在的学校(乔治亚理工学院),还有布林莫尔学院和微软研究院,正在一起做一个叫做 Pyjama 的项目。简单来说,它利用微软的动态语言运行时(DLR),让你可以随意混合使用Python和Ruby这两种编程语言。我还没试过,但听起来挺不错的。

网站上有个例子。你可以在“Python模式”下输入一个类。然后它会被编译,你再在“Ruby模式”下运行这个命令。

class PythonClass:
     def hello(self, value):
         print "Python says hello to", value

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

这样就会输出“Python向Ruby问好”。

5

将动态语言整合在一起是Parrot项目的一个目标。这个项目是一个虚拟机,动态语言的编译器会针对它进行开发。一旦编译成同一个虚拟机的代码,你就可以在任何语言中使用“对象”这种形式,无论这个对象是从哪个语言来的。

不过,目前的问题是要让这个虚拟机稳定下来,并完成那些大部分已经完成的编译器。但是,这种状态已经持续很长时间了。:)

撰写回答