Eu não entendo completamente o que estou perguntando (risos!), Bem, no sentido de se isso é possível, é isso. Se não for, desculpe.
Suponha que eu tenha um programa Java. Tem uma Main
e uma JavaCalculator
classe. JavaCalculator
tem algumas funções básicas como
public int sum(int a,int b) {
return a + b
}
Agora, suponha que eu tenha um arquivo ruby. Chamado MyProgram.rb
.
MyProgram.rb
pode conter qualquer coisa que você poderia esperar de um programa ruby. Vamos supor que ele contenha o seguinte:
class RubyMain
def initialize
print "The sum of 5 with 3 is #{sum(5,3)}"
end
def sum(a,b)
# <---------- Something will happen here
end
end
rubyMain = RubyMain.new
Boa. Agora, então, você já deve suspeitar do que eu quero fazer:
- Eu quero executar meu programa Java
- Eu quero que ele execute o arquivo Ruby
MyProgram.rb
- Quando o programa Ruby é executado, ele cria uma instância de
JavaCalculator
, executa asum
função que possui, obtém o valor e depois imprime. - O arquivo ruby foi executado com sucesso.
- Eu quero que ele execute o arquivo Ruby
- O programa Java fecha.
Nota : O "criar uma instância de JavaCalculator
" não é totalmente necessário. Eu ficaria satisfeito em apenas executar uma sum
função, digamos, da Main
classe.
Minha pergunta: isso é possível? Posso executar um programa Java que execute internamente um arquivo Ruby capaz de comandar o programa Java para fazer certas coisas e obter resultados? No exemplo acima, o arquivo Ruby pede ao programa Java que faça uma soma e forneça o resultado.
Isso pode parecer ridículo. Eu sou novo nesse tipo de coisa (se é possível, é isso).
Por que estou perguntando isso?
Eu tenho um programa Java, que é algum tipo de mecanismo de jogo. No entanto, meu público-alvo é um monte de codificadores Ruby. Eu não quero que eles aprendam Java. Então imaginei que talvez o programa Java pudesse simplesmente oferecer a funcionalidade (capacidade de criar janelas, exibir sprites, reproduzir sons ...) e então, meu público-alvo pode simplesmente codificar com Ruby a lógica, que basicamente pede ao meu mecanismo Java que faça coisas como exibir sprites ou tocar sons.
Foi quando pensei em perguntar isso.