Another groovier way to access some itens in my list. 0

Hello,

Yesterday I’ve posted this post: Uma maneira bem ‘a-lá groovy’ de se acessar o último elemento de uma lista! (English version here) that explains how we can use negative indexes to access the elements on one list using groovy. And a friend of mine, Paulo Suzart, that works with me commented that using Scala he can have some extra calls one one list.

lista.head //first element
lista.last //last element
lista.tail //all elements except the first one

I myself do not know scala well, ( except for the times he keeps talking about it! LOL). But this comments submitted me to my textmate to explore the list methods, and I got surprised when I saw all that methods exactly reproduced in groovy. My mistake that I did not posted this way in yesterday’s post, but here it is:

def lista = []
lista << “first element”
lista << “second element”
lista << “third element”

println lista.head() //”first element”
println lista.last() //”third element”
println lista.tail() //gives me another list, formed by “second element” and “third element”

That’s it! Hope it helps.

You can follow me on twitter: twitter.com/lucastex

Ruby, Ruby, Ruby! 1

Bom, depois de mais de um mês de férias, muitos kms rodados e descansado bastante, voltamos a ativa!

Estava tentando “limpar” a pasta “itens pendentes” dos meus bookmarks (são links interessantes que quando descubro não tenho tempo de ler com calma, então marco e deixo para outra hora), e vi que tinha um post que o Paulo havia me mandado faz um tempo, falando sobre Scala, uma linguagem que roda na JVM (somente ele e o criador conheçem, mas tudo bem). O título do post dele é “Scala, Scala, Scala”, daí é claro, o título do meu.

Pode parecer uma coisa meio recursiva, mas ele estava vagando pelo Google Reader e encontrou um post, que mostrava apenas para diversão, um comparativo entre exemplos triviais entre Java, C# e F#, resolvi então colocar os mesmos 3 exemplos aqui, codados em Ruby!

O post do Paulo que eu li, apesar de também estar no blog dele do link acima, foi lido no Blog do RASEA (um projeto OpenSource que ele toca com alguns amigos) e está aqui. Já o post original com os exemplos iniciais, está aqui.

Bom, aos simples (com foco comparativo apenas) e lindos exemplos:

#1. Dados os números de 1 a 5, retornar o quadrado de cada elemento.
(1..5).each { |c| puts c*c }

#2. Dados os números de 1 a 5, retornar apenas aqueles maiores que 3.
(1..5).each { |c| puts c if c > 3 }

#3. Dada uma lista dos números de 1 a 5, some todos e imprima o resultado.
puts (1..5).inject {|soma, c| soma + c}

Não é por nada Paulo, mas ficou mais bonito :)

É isso aí!

Web Analytics