Se você precisar do índice da iteração de um array ao utilizar um método que retorna um outro array (collect, map, select, dentre outros), saiba que existe uma maneira muito mais elegante que manter contadores; utilize o método to_enum.

require "enumerator"
fruits = %w(apple orange lemon)
list = fruits.to_enum(:each_with_index).collect {|fruit, i| "#{i + 1}. #{fruit}" }
puts list.inspect #=> ["1. apple", "2. orange", "3. lemon"]

Se você estiver usando Ruby on Rails, ele já carrega o Enumerator, facilitando ainda mais a sua vida.

Comentários #

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

JavaScript Avançado

O JavaScript é a única linguagem que muitos acreditam saber sem nunca terem parado para realmente aprendê-la. Neste workshop rápido você entenderá de verdade todos os conceitos avançados do JavaScript em 4 horas puramente práticas.

Saiba mais Fechar

Conheça também o HOWTO