Hoje estou estreando uma nova categoria no meu blog. É a categoria RUBY! Aqui irei abordar assuntos, dicas, curiosidades e boas práticas para a linguagem ruby, bem como para o rails. E para facilitar o acompanhamento dessa nova “thread”, criei um novo Feed, que direciona diretamente para cá. Portanto se você quer ler apenas o conteúdo ruby, do meu blog, assine o este feed.
Para começar, mostrarei um exemplo de como pode ser simples a soma de todos os elementos de um array:
meu_array = [1,2,3,4,5,6,7,8,9,10]
meu_array.inject {|acumulador, valor_corrente| acumulador + valor_corrente}
Simples, não ? Mas atente aqui para a função inject. O nome dela parece ser meio ingrato, mas o que ela faz é iterar um array e ir “injetando” o acumuladorno bloco a cada interação. Com o ruby 1.8.7, será possível fazer:
meu_array = [1,2,3,4,5,6,7,8,9,10]
meu_array.inject(:*)
Para multiplicar todos os elementos de um array sem passar um bloco.