tutorial script peliculas language guide full form font example docs descargar java scripting groovy

java - peliculas - groovy script font



¿Cómo redirijo la salida a stderr en groovy? (4)

Estoy buscando una forma de redirigir la salida en un guión maravilloso a stderr:

catch(Exception e) { println "Want this to go to stderr" }


Groovy tiene acceso al JRE:

System.err.println "goes to stderr"

Aunque puede haber una manera más Groovy-fied ...


Justo fuera de mi cabeza no podrías hacer un poco de auto-cableado:

def printErr = System.err.&println printErr("AHHH")

pero eso es un poco manual


Otra alternativa bastante compacta es esta:

System.err << "Want this to go to stderr"

O puede agregar esto en la parte superior de su script

def err = System.err ... err << "Want this to go to stderr"

que es lo que ahora estoy haciendo en mis guiones groovy shell


Si solo quieres algo más corto para escribir, aquí hay dos opciones. Primero, puede importar java.lang.System como lo desee, específicamente algo más corto como "sys":

import java.lang.System as sys sys.err.println("ERROR Will Robinson")

En segundo lugar, puede asignar la secuencia de System.err a una variable y usar esa variable a partir de ese momento como un alias para System.err, como:

err = System.err err.println("ERROR again Will Robinson")

Esto tiene la posible ventaja de que todas las funciones de System.err son accesibles para que no tenga que cablear cada una individualmente (por ejemplo, err.print, err.println, etc.).

Esperemos que exista una forma Groovy estándar, ya que el cambio de nombre idiosincrásico puede ser confuso para las personas que leen tu código.