Domanda
Sono interessato a far parlare un po 'di codice Python con un codice Ruby su Windows, Linux e possibilmente altre piattaforme. In particolare, vorrei accedere alle classi in Ruby da Python e chiamare i loro metodi, accedere ai loro dati, creare nuove istanze e così via.
Un modo ovvio per farlo è tramite qualcosa come XML-RPC o forse CORBA, ma sarei interessato ad altri approcci.
Che cosa hanno fatto gli altri per far comunicare il codice da Python e Ruby tra loro, localmente sullo stesso sistema o in remoto attraverso una rete?
Grazie in anticipo.
Soluzione
Beh, potresti provare named pipe o qualcosa di simile ma penso davvero che XML- RPC sarebbe il modo più privo di mal di testa.
Altri suggerimenti
Si prega di notare che non parlo per esperienza personale qui, ma immagino che JRuby e Jython (le implementazioni ruby ??e python nella JVM) sarebbero in grado di parlare facilmente tra loro, così come il codice Java. Potresti voler esaminare questo.
Non è questo il tuo dopo, ma merita una lettura: incorpora l'interprete Python in Ruby: questo codice è piuttosto vecchio
http: // www. goto.info.waseda.ac.jp/~fukusima/ruby/python/doc/index.html
OPPURE: perché, riscrivere i bytecode
Utilizzo dell'interoperabilità di JRuby / Jython per Ruby / Python? ha più informazioni. Da notare: JRuby e Jython non hanno la compatibilità degli oggetti, ma IronPython e IronRuby sì.
Esponi le tue lezioni di Ruby come servizi web usando Sinatra, Rails o, semplicemente vecchio Rack.
Esponi le tue classi Python come servizi web usando web.py, flask, Django o App Engine.
Usa HTTParty per Ruby per creare un'API nelle tue classi Python.
Usa una libreria REST Python per creare un'API nelle tue classi Ruby.