Suporte nativo a Listas e Mapas em Groovy

Em Groovy, para declarar uma lista é simples assim:

def lista = ["thania", "clair"]
println lista.get(0)
println lista.get(1)

Para definir um intervalo:

def intervalo=0..10
println intervalo.size()
println intervalo.get(5)

Para criar um mapa:

def mapa = ["chave":"valor", "chave2":"valor2"]
mapa["nova"]="novo valor"
println mapa["chave"]
println mapa["nova"]

lista e intervalo são instâncias de java.util.List. Definir o objeto como intervalo preenche a lista criada com os valores desejados (podem ser utilizados caracteres). A definição de um mapa parece com a de uma lista, exceto pelo fato de serem passados dados no formato [ <chave> : <valor> ].

As coleções em Groovy possuem métodos bastante úteis para closures:

def lista = ["a", "b", "c"]
lista.each
{
  elemento -> println elemento;
}

lista.eachWithIndex 
{ 
    elemento, indice ->
            println indice + "O elemento é = " + elemento;
}

O método each retorna como parâmetro para a closure todos os membros da coleção, na ordem. :)

Tudo isso me lembra muito Ruby, por isto é legal. Preciso descobrir ainda como anda a produtividade ao utilizar esta linguagem. Não sei ao certo se muitas aplicações vêm sendo desenvolvidas em Groovy e porque utilizá-la ao invés de Java ou Ruby. A verdade é que já li algo respeito, mas ainda não me convenceu. Espero que não seja apenas uma outra linguagem. :P

1 comment:

  1. Douglas Cunha, 29. Fevereiro 2008, 10:53

    Oi Thânia. Não conhecia o Groovy e me interessei muito. Sou programador também e me interesso muito por novas linguagens. Já mexi com Ruby e com Lua (essa sim é muito interessante). Gosto da forma como essas novas linguagens quebram paradigmas para quem estava acostumado com com a orientação a objetos e achava que isso era tudo. Abraço,

Escreva um comentário: