2016-04-29 6 views
-2

Ich muss Ruby-Source-Code in Java-Source-Code übersetzen. Während meiner Suchphase fand ich diese Seite: https://varycode.com/Umwandlung von Ruby-Sourcecode in Java-Sourcecode

Das Problem: Diese Webseite nur diese Art der Übersetzung JAVA ist bietet> RUBY aber ich brauche diese JAVA RUBY>

Hoffnung jemand kann mir sonst helfen ich brauche 50 Klassen von Rubin zu konvertieren durch meine eigene = (

+0

Warum brauchen Sie vorhandenen Code in Ruby zu umschreiben? – spickermann

+0

Sie können dies nicht automatisch tun, nicht mit 100% Sicherheit in jedem Fall. Warum nicht JRuby verwenden? – tadman

Antwort

2

Sie wollen nicht, dies zu tun. Und man kann es nicht. Zumindest dest~~POS=HEADCOMP nicht, wenn Sie das Ergebnis erwarten, dass einige Qualitätsstandards erfüllen.

Wenn Sie Java-Code schreiben, dann schreiben Sie Es ist der Java-Weg. Wenn Sie Ruby-Code schreiben, dann den Ruby-Weg. Es gibt viele Funktionen, die nicht gut in Java übersetzen (und umgekehrt). Während es leicht sein könnte Ihr grundlegendes „Hello World“ Beispiel zwischen den beiden Sprachen zu übersetzen, wird es schwieriger, wenn Sie Sachen haben wie

  • ausfahren/
  • Klassen enthalten, die in Java
  • Meta-Programmierung nicht existieren
  • Ente eingeben

Wenn Sie Java schreiben direkt dann können Sie nutzen solche Sachen Methode Überlastung machen, oder Schnittstellen, die in ruby ​​nicht existieren.

Am Ende geht es darum, IDIOMATIC-Code zu schreiben, damit Sie die volle Kraft der Sprache nutzen können.

Sie müssen also die Kugel beißen, würde ich sagen. Wenn du sie wirklich übersetzen musst. Aus welchem ​​Grund möchten Sie die Klassen übersetzen?

+0

Vielen Dank. Ich dachte schon, dass ich die Logik hinter den Klassen selbst umsetzen muss. Es ist eine Managemententscheidung, also muss ich das trotzdem tun. – BlackFlag

0

Es ist möglich, eine kleine Teilmenge von Ruby in Java zu konvertieren, indem Universal-transpiler verwendet wird.

diesen Eingang in Ruby Gegeben:

def distance_formula(x1,y1,x2,y2) 
    return Math.sqrt(((x1-x2)**2)+((xy-y2)**2)) 
end 

der Übersetzer wird Produkt dieser Ausgang in Java:

public static Object distance_formula(Object x1,Object y1,Object x2,Object y2){ 
    return Math.sqrt((Math.pow((x1-x2),2))+(Math.pow((xy-y2),2))); 
}