Sig:
Índice General
Sup:
GC
Err:
Si hallas una errata ...
Groovy
Casiano R. León
0
.
1
Índice General
Índice de Figuras
Índice de Tablas
A Juana
Agradecimientos/Acknowledgments
Introducción
Lecturas Recomendadas
Instalación de
groovy
groovysh
Introducción
Expresiones
Comandos
Ejecución en línea de comandos
Práctica: groovysh
La Cónsola Swing Groovy
Compilación conjunta de código Groovy y Java
Usando clases Java desde Groovy
Práctica: Llamada a una Clase Java desde Groovy
LLamando scripts Groovy desde código Groovy
Práctica: Guión controlado
LLamando Clases Groovy desde Java
Tipos de Datos Simples
El Sistema de tipos de Java
Práctica: Suma de Dos vectores en Java
Especificación de Tipos Opcional
Conversiones y Coerciones
Práctica: Factorial
Sobreescritura y Sobrecarga de Operadores
Precedencia de Operadores
Ejemplo de Sobrecarga: Números Complejos
Duck Typing
Práctica: Números Fraccionarios
Multiple Dispatching
Práctica: Máximo
Repaso
Entrada/Salida
Lectura
Repaso
Escritura
Funciones para la Manipulación de Ficheros
Procesado de la Línea de Comandos
Práctica: Procesando la línea de Comandos
Groovy One liners
Guillaume Laforgue sobre E/S
Directorios
Práctica: Ficheros Grandes y Viejos
Acceso Directo a un Fichero
Execute
Práctica: Controlando a otros Procesos
Groosh
Descargado Ficheros desde una URL
Práctica: Descarga Anidada de Páginas
Propiedades del Sistema
Variables de Entorno
Incluyendo
JAR
s en la Línea de Comandos
Copiando con
ant
Utilizando
AntBuilder
para Copiar un Directorio
Copia Selectiva
Copia con Aplanamiento
Movimientos y Supresiones usando Ant
Creación de tarballs
Repaso
Práctica: Copia Remota
Threads/Hilos
El Programa
tee
Reescrito en Groovy
Cadenas y Expresiones Regulares
Cadenas
Introducción
Operadores y Cadenas
Conversión a Boolean
GStrings
Introducción a las Expresiones Regulares
Tutorial de Regexps en codehaus.org
Celsius to Farenheit
Los métodos
find
y
findAll
Práctica: Reescribir el conversor Celsius-Farenheit usando
find
Reemplazo
Práctica: Comentarios C
Práctica: Ficheros Grandes y Viejos: Unidades
Colecciones y Expresiones Regulares: grep
La clase
Scanner
Lectura y Reconocimiento de Números Complejos
Práctica: DEFINEs en Programas C
Colecciones
Expando
Clausuras
Introducción
Uso de métodos como clausuras
Multimétodos
Creando y LLamando clausuras
La clase
Eval
Valores por defecto
El método
call
de los objetos
Closure
Número y tipo de los parámetros de una clausura
Currying
Variables Implícitas en una Clausura
Objetos
Declaraciones en Java
Inicializadores en Java
Declaraciones en Groovy
Declaración de Variables
Referenciado Dinámico de Atributos
Exensión del Operador de Acceso a un Atributo (dot)
El Método
main
Parámetros con Nombre
Argumentos con Valores por Defecto
Argumentos Opcionales
Práctica: Polares a Cartesianas
Introspección
Práctica: Intérprete de Comandos
Práctica: Contando el Número de Accesos
MOP: Meta Object Protocol
Objetos Groovy y Objetos Java
Invocación de Métodos de POJOs
Algoritmo de Invocación de un Método
Categorías
Programación Orientada a Aspectos: Interceptando LLamadas con
GroovyInterceptable
Programación Orientada a Aspectos: Interceptando LLamadas Utilizando Metaclases
Intercepción de Clases Java
Creación Dinámica de Métodos
Metaprogramación con Convenio Basado en el Nombre del Paquete
Índice de Materias
Bibliografía
Casiano Rodríguez León
2010-04-30