2008-10-15 7 views
8

Ich bin daran interessiert, etwas Python-Code mit einigen Ruby-Code unter Windows, Linux und möglicherweise anderen Plattformen zu sprechen. Speziell möchte ich auf Klassen in Ruby von Python zugreifen und ihre Methoden aufrufen, auf ihre Daten zugreifen, neue Instanzen erstellen und so weiter.Ruby to Python bridge

Ein naheliegender Weg, dies zu tun ist über etwas wie XML-RPC oder vielleicht CORBA, aber ich würde mich für andere Ansätze interessieren.

Was haben andere Leute getan, damit Code aus Python und Ruby miteinander kommunizierte, entweder lokal auf demselben System oder remote über ein Netzwerk?

Vielen Dank im Voraus.

+1

Ich möchte eine Motivation oder Erklärung, warum Sie dies tun müssen. – Jonke

Antwort

4

Nun, Sie könnten versuchen named pipes oder etwas ähnliches, aber ich glaube wirklich, dass XML-RPC wäre die kopfwehfreie Art und Weise.

+0

Ich denke, dein Recht, xml-rpc ist wahrscheinlich meine beste Wahl. – QAZ

3

Bitte beachten Sie, dass ich hier nicht aus eigener Erfahrung spreche, aber ich stelle mir vor, dass JRuby und Jython (die Ruby- und Python-Implementierungen in der JVM) problemlos miteinander kommunizieren könnten, ebenso wie Java-Code . Vielleicht möchten Sie sich das genauer ansehen.

+0

Das klingt interessant, hat jemand Erfahrung damit? – monkut

+0

Ja, ich mag die Idee von allem, was in der gleichen jvm und wie eine solche "native" Brücke zwischen ihnen. interessanter Vorschlag nemo, danke. – QAZ

1

Zeigen Sie Ihre Ruby-Klassen als Web-Services mit Sinatra, Rails oder Plain old Rack an.

Zeigen Sie Ihre Python-Klassen als Webdienste mit web.py, flask, Django oder App Engine an.

Verwenden Sie HTTParty für Ruby, um eine API in Ihre Python-Klassen zu erstellen.

Verwenden Sie eine Python-REST-Bibliothek, um eine API in Ihre Ruby-Klassen zu erstellen.