2016-04-29 4 views
-2

Мне нужно перевести ruby-исходный код в java-исходный код. Во время моего этапа поисков я нашел этот сайт: https://varycode.com/Преобразование Ruby-Sourcecode в Java-исходный код

Проблема: Этот сайт предоставляет только этот способ перевода JAVA> RUBY, но мне нужна эта рубинового> Java

Надежда кто-то может помочь мне в противном случае Мне нужно, чтобы преобразовать 50 классов рубина по моему = (

+0

Почему вам нужно переписать существующий код в Ruby? – spickermann

+0

Вы не можете сделать это автоматически, не со 100-процентной уверенностью в любом случае. Почему бы не использовать JRuby? – tadman

ответ

2

вы не хотите, чтобы это сделать. И вы не можете. по крайней мере, если вы ожидаете, что результат для удовлетворения некоторых стандартов качества.

Если вы пишете Java-код, Это путь Java. Если вы пишете Ruby-код, то Ruby-way. Есть много возможностей, которые не хорошо переводятся на Java (и наоборот). Хотя это может быть легко перевести основной «HelloWorld» пример между двумя языками, это становится все труднее, когда у вас есть такие вещи, как

  • продлить/включают
  • классы, которые не существуют в Java
  • мета программирования
  • уток печатая

Если вы пишете Java напрямую, то вы можете использовать вещи, как перегрузку методы, или интерфейсы, которые не существуют в рубине.

В конце концов, это все о написании кода IDIOMATIC, чтобы вы могли использовать всю мощь языка.

Значит, вам придется укусить пулю, которую я бы сказал. Если вам действительно нужно перевести их на самом деле. В чем причина, по которой вы хотите перевести классы?

+0

Большое вам спасибо. Я уже думал, что мне нужно преобразовать логику, лежащую в основе классов, самостоятельно. Это решение для руководства, поэтому мне все равно нужно это сделать. – BlackFlag

0

Можно перевести небольшое подмножество Ruby на Java, используя Universal-transpiler.

Учитывая этот вход в Ruby:

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

переводчик будет продукт этот вывод в 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))); 
}