【发布时间】:2014-04-11 17:57:01
【问题描述】:
我知道我正带着我见过的所有其他问题和答案中的这个问题走进一大堆牛粪,但我已经穿上了我的臀部靴子。
在我工作的公司中,大约有 15 年的时间使用 perl 库来使测试人员和其他人更容易编写脚本。
在我看来,由于 Perl “编译”为 c 而 Ruby 也是如此,似乎有一种方法可以在模块编译为 C 之后从 ruby 调用模块。
当然,从我在这里和其他地方看到的答案来看,这是一个非常幼稚的观点。有人可以帮我理解为什么我不能或我将如何去做吗?
【问题讨论】:
-
完全抛开你的问题的技术方面,我只是好奇为什么你想这样做。贵公司是否积极使用 Perl 和 Ruby,或者是否在某个时候从一个切换到另一个?
-
好吧,实际上,我不想这样做。我将继续与 perl 一起努力。这是一门完美的语言,我只是更喜欢 ruby。即使有办法做到这一点,我也不确定我是否真的会这样做。但是,我的一个动机可能是招聘。对于今天刚开始 IT 职业生涯的人来说,说“你将使用 perl 编程”比说“你将使用 Ruby(或任何你选择的语言)编程”要难得多。
-
不抛开您的问题的技术方面,Perl 和 Ruby“编译为 C”没有任何意义。 Perl 和 Ruby 解释器是 C 程序,但运行 Perl 或 Ruby 脚本并将脚本中的指令翻译成 C 是没有意义的。
-
如果需要,您可以分叉/执行 Perl 脚本并通过 IPC 进行通信。或者使用文本格式和管道获取所有 unixy 并进行通信。
-
Perl 代码不能编译成 C 或机器代码。也许您的意思是 Perl 和 Ruby 都是用 C 编写的?可能是这样,但 Microsoft Word 也是如此,您不会期望 Ruby 执行 Word 文档,对吧?