usa sirve quien que programacion porque para industria guido creator aplicaciones java read-eval-print-loop

java - sirve - python guido



¿Hay algo como el modo REPL interactivo de python, pero para Java? (28)

¿Hay algo como el modo REPL interactivo de python, pero para Java? ¿Para que pueda, por ejemplo, escribir InetAddress.getAllByName( localHostName ) en una ventana, e inmediatamente obtener resultados, sin toda esta cosa pública de pesadilla () vacía?


BeanShell es un intérprete de código fuente Java pequeño, gratuito e integrable con funciones de lenguaje de scripts de objetos, escrito en Java. BeanShell ejecuta dinámicamente la sintaxis estándar de Java y la amplía con conveniencias comunes de scripting, como tipos sueltos, comandos y cierres de métodos como los de Perl y JavaScript. Puede usar BeanShell interactivamente para la experimentación y depuración de Java, así como para ampliar sus aplicaciones de nuevas maneras. Scripting Java se presta a una amplia variedad de aplicaciones que incluyen creación rápida de prototipos, extensión de scripts de usuario, motores de reglas, configuración, pruebas, implementación dinámica, sistemas integrados e incluso educación Java.

http://www.beanshell.org/

http://www.beanshell.org/manual/syntax.html#Standard_Java_Syntax



Clojure proporciona un REPL que puedes usar.


Como alternativa a Groovy, pruebe Beanshell: http://www.beanshell.org/

Es más parecido a Java y le permite usar la sintaxis de Java directamente.


Eclipse tiene una característica para hacer esto, aunque no es un bucle. Se llama "Página de Scrapbook". Supongo que se supone que la analogía es que tienes un bloc de notas donde recopilas pequeños fragmentos de código.

De todos modos, para que funcione, abra un proyecto en Eclipse (su página de Scrapbook se asociará con un proyecto: a Eclipse le gusta que los proyectos sean propios).

Entonces:

  1. En la ventana del navegador de proyectos, seleccione una carpeta que exista en algún lugar de su proyecto.
  2. Seleccione el menú Archivo -> Nuevo -> Otro, o presione Control-N.
  3. Seleccione Java -> Java Ejecutar / Depurar -> Página de Scrapbook.
  4. Haga clic en "Siguiente", luego asigne un nombre de archivo y luego presione "Finalizar".

Ahora tienes una página de álbum de recortes. Escriba algún código, como tal vez esto:

System.out.println(System.getProperties());

Luego seleccione el texto con el mouse y presione Control-U o seleccione "Ejecutar" en el menú contextual. El código se ejecutará y la salida aparecerá en la consola.

También puede escribir una expresión, seleccionarla y seleccionar Mostrar en el menú contextual. Evaluará la expresión e imprimirá su tipo. Por ejemplo, si se ejecuta la visualización en 1 + 2 se imprimirá (int) 3 .


Existe un IDE simple llamado DrJava que tiene una consola de Interacciones. Funciona exactamente como yo esperaría. Simplemente cargue un archivo y comience a interactuar con los objetos que contiene.



Java 9 está proporcionando el JShell.

jshell> println( "Print me!") jshell> Print me!


Java-REPL por Albert Latacz funciona bien.

Puede probarlo directamente desde su navegador aquí: javarepl.com/term.html

El código fuente está disponible aquí, y tiene un complemento de Intelli-J decente.

github


Jython, JIRB para JRuby, Groovy (groovyconsole et al) y Beanshell son todas opciones viables.

He usado la InteractiveConsole para Jython, realmente funcionó muy bien en la aplicación.


La consola groovy te permite hacer eso. En realidad, estaba destinado a probar y probar el código groovy, pero dado que groovy es un superconjunto de Java, también permite cosas simples de Java.

Acabo de introducir esto en la consola:

InetAddress.getAllByName(''localhost'')

y pulsa CTRL-R, luego regresa:

groovy> InetAddress.getAllByName(''localhost'') Result: [localhost/127.0.0.1]


La mayoría de los IDE tienen una ventana llamada algo como "modo inmediato" que te permitirá evaluar el código Java al vuelo.


Mientras que JRuby , http://www.beanshell.org/ , scravy.de/blog/2012-02-27/a-read-eval-print-loop-for-java.htm están allí, github parece ser el último y activo.

Lo intenté con una definición de clase simple, funciona bien.

$ java -jar javarepl.jar Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17) Type in expression to evaluate. Type :help for more options. java> public class Test { | public static void execute(String [] s) { | System.out.println(54353 + s[0]); | }} java> Test.execute(new String [] {"234343"}); 54353234343 java> System.exit(0);



Para las personas con acceso a Mathematica, JLink le permite acceder a Java y scripts con el código de Mathematica:

Needs["JLink`"] LoadJavaClass["java.net.InetAddress"] InetAddress`getAllByName["localhost"]

Pulsa Shift-Enter para evaluar, y obtienes

{<<JavaObject[java.net.Inet4Address>>}

Luego, puede usar la función Mapa de Mathematica para llamar a toString en los objetos devueltos:

#@toString[]& /@ %

para obtener el resultado (o para usar la sintaxis menos oscura, Map[Function[obj, obj@toString[]], %] ):

{"localhost/127.0.0.1"}

Si empiezas a ponerte serio con esto, querrás leer el tutorial de Todd Gayley en http://reference.wolfram.com/mathematica/JLink/tutorial/Overview.html .


Parece que nadie ha mencionado aún que Java (6, 7) entrega una consola REPL llamada jrunscript . Es un lenguaje agnóstico (puede usarse con Jython, JRuby, etc.). El valor predeterminado es JavaScript (Rhino), que también se incluye de forma predeterminada, y al igual que en otros idiomas, puede acceder a todos los paquetes / objetos disponibles en la ruta de clase.


Pregunta antigua, pero ahora hay una mejor respuesta (mayo de 2013): ¡java-REPL! Está disponible en github y también está disponible en vivo en el sitio web de java-repl para realizar pruebas rápidas github .

Si tomas el código de git hub y ejecutas ant para generar los artefactos, puedes hacerlo fácil con un pequeño script como:

#!/bin/sh java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar

Desde que encontré este proyecto probablemente lo uso 5 veces al día. ¡Disfrutar!


Puede echar un vistazo a BlueJ que es un entorno de desarrollo Java interactivo destinado a enseñar OOP en lugar de un IDE completo como Eclipse o NetBeans. Es un poco divertido jugar de todos modos.

Puedes verlo en acción en YouTube en una serie de tutoriales de Java.


Puedes usar las páginas de Eclipse Scrapbook.

En Eclipse creamos una página de Scrapbook. En su proyecto, Nuevo-> Otro-> Página de Scrapbook.

En el archivo, ingrese un texto, selecciónelo y presione ctrl-U, y ya está.

Para administrar sus importaciones, haga clic con el botón derecho en la página y seleccione Establecer importaciones, donde puede elegir importar un paquete o una sola clase. Esto es persistente, y se guarda con la página.



Si ya conoce a Groovy (lo cual supongo que ya conoce, ya que mencionó la Consola de Groovy), use Groovysh o GroovyConsole, que se incluyen en la distribución de Groovy. Si tiene archivos jar personalizados que desea importar, puede escribir un archivo de proceso por lotes que inicie groovysh / groovyConsole con los agregados al classpath. También puedes hacer esto

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))

Desde dentro de la cáscara para cargar otros tarros.

Solía ​​usar Jython hace varios años para hacer lo que me estás pidiendo. Como parte de mi script de compilación, generé un archivo jython.bat y .py personalizado que incluía la ruta de clase completa para el proyecto en el que estaba trabajando. De esa manera, cuando empecé a Jython, tendría todo el código disponible, y haría que Spring me permitiera cambiar las cosas en el sistema en vivo. Puedes hacer lo mismo con Groovy, JRuby, BeanShell, etc.


También puedes usar Groovy Console . Es una consola interactiva donde puedes hacer lo que quieras. Ya que Groovy también incluye clases de la plataforma java principal, también podrás usar esas clases.

EDITAR

Se parece a esto:




DrJava es un IDE educativo que incluye un panel REPL.

También hay un plugin de Eclipse, pero no me ha funcionado. Creo que simplemente no se ha actualizado en un tiempo. Entonces, lo que generalmente hago es mantener abierta una ventana de DrJava para las preguntas "qué sucede si hago esto".

EclipseShell también podría ser bueno, pero todavía no lo he usado.


JPad es un bloc de notas java con un REPL integrado:

C:/>jpad _ _____ _ | | __ / | | | | |__) |_ _ __| | _ | | ___/ _` |/ _` | | |__| | | | (_| | (_| | /____/|_| /__,_|/__,_| Anything you type is evaluated as java. The code is continuously appended until you call /clear. Other Available Commands: /exit - exit /clear (n) - clear past java statements /history - display all past java statements /help - display this help j>2+2 4 j>Math.sin(100.1) -0.4177477 j>

También es inteligente en cuanto a volcar colecciones, listas, mapas, etc. y permite representarlos como una tabla o gráfico:


Jython es una implementación de Python que le permite inspeccionar e interactuar con objetos Java.

>>> from java.net import * >>> InetAddress.getAllByName("google.com") array(java.net.InetAddress,[google.com/209.85.171.100, google.com/74.125.45.100, google.com/74.125.67.100])


Scala también ofrece una consola interactiva. Pude usarlo para obtener un resultado para la expresión en su pregunta al calificar completamente InetAddress, como en:

java.net.InetAddress.getAllByName("localhost")