E ai povo, achei algo melhor do que apenas avaliar expressoes, creio que muitos ja tenham ao menos ouvido falar na linguagem Python. Eu ja havia visto alguma coisa sobre o JPython (rebatizado de Jython) e resolvi exerimentar, eh muito bala. Por enaunto vou utilizar so as minhas expresoezinhas aritmeticas, mas o Jython simplesmente eh um interpretador da linguagem Python que roda em programas java. Claro tem toda a questao de performance pois estamos falando de um interpretador dentro de um interpretador, coisa que eu ainda nao avaliei com profundidade mas esta devidadmente documentado no site do JPython.
Exemplos de aplicacoes muito bons pode achar na pagina do Guru Espiritual Bruce Eckel. No livro, disponivel para download, "Thinking in Patterns". Alias o livro Thinking in Java do Bruce simplesmente acho o melhor livro sobre a *linguagem* java. O de patterns tb eh muito bom , mas sabe-se la quando o mane vai resolver termina- lo. Hasta, Site Jython: http://www.jython.org/ Exemplos de utilizacao do Jython (no livro "Thinking in Patterns"): http://www.bruceeckel.com Codigo exemplo: package com.immediate.testes; import org.python.util.*; import org.python.core.*; public class Expression { public static void main (String args[]) throws Exception{ PythonInterpreter interp = new PythonInterpreter(); interp.exec("a = 100"); PyObject a = interp.get("a"); System.out.println("a = " + a); int ai= ((Integer)a.__tojava__(Integer.class)).intValue(); System.out.println("ai = " + ai); ai = Py.py2int(a); System.out.println("ai + 47 = " + (ai + 47)); float af = Py.py2float(a); System.out.println("af + 47 = " + (af + 47)); interp.exec("x = 1 + 2"); int x = ((Integer)interp.get("x", Integer.class)).intValue(); System.out.println("x = " + x); } } On Thu, 23 Jan 2003 12:03:18 -0200, "Nilseu Padilha" <[EMAIL PROTECTED]> escreveu : > De: "Nilseu Padilha" <[EMAIL PROTECTED]> > Data: Thu, 23 Jan 2003 12:03:18 -0200 > Para: [EMAIL PROTECTED] > Assunto: [enterprise-list] Avaliacao de Expressoes > > E ai pessoal, > > > como eu avalio uma expressao aritmetica obtida em tempo de excucao? Alguma coisa > do genero (em pseudo - javanes): > > Expression exp = new Expression ("($1 + $2) * 10"); > exp.setParam(1, 9.5f); > exp.setParam(1, 10); > > double res = exp.eval(); > BigDecimal res2 = exp.eval(); > > > pelo menos com uma olhada preliminar no java.util.regex.* nao achei nada >relativamente pronto. E o Jakarta > Regexp se ao menos tivesse uma documentacao "howto" afora o javadoc. > > Seria alguma coisa simples como o eval do javascript. > > > Valeu, > > <Padilha id="Nilseu"> > Nilseu Perside Ortiz Padilha Junior > Desenvolvedor Java - J2EE > Immediate Consultoria e Sistemas > http://www.immediate.com.br > Ciencia da Computacao - ULBRA > <Quote> > Rejeitamos reis, presidentes e votos. Acreditamos em puro consenso e codigo >eficiente. - Dave Clark > </Quote> > <Quote> > One exam does not a (J2EE) architect make. - Master Yoda > </Quote> > </Padilha> > > > --------------------------------------------------------------------- > Para cancelar a subscri��o, envie mensagem para: >[EMAIL PROTECTED] > Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED] > > > > <Padilha id="Nilseu"> Nilseu Perside Ortiz Padilha Junior Desenvolvedor Java - J2EE Immediate Consultoria e Sistemas http://www.immediate.com.br Ciencia da Computacao - ULBRA <Quote> Rejeitamos reis, presidentes e votos. Acreditamos em puro consenso e codigo eficiente. - Dave Clark </Quote> <Quote> One exam does not a (J2EE) architect make. - Master Yoda </Quote> </Padilha> --------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
