06-09-2010, 02:41 PM
La méthode inject appartient au module Enumerabe.
Son fonctionnement est un peu étrange au début, l'approche ressemble à de la programmation fonctionnelle. Mais une fois qu'on le connaît (et qu'on pense à s'en servir…), ça devient très pratique.
Plutôt qu'une explication, je vais te proposer une écriture alternative.
En fait, inject permet simplement d'être plus concis.
Voici un billet de blog qui présente des cas d'utilisation de inject : Jay Fields — Ruby inject.
Sephi-Chan
Son fonctionnement est un peu étrange au début, l'approche ressemble à de la programmation fonctionnelle. Mais une fois qu'on le connaît (et qu'on pense à s'en servir…), ça devient très pratique.
content_tag(:div, html_attributes) do
ring.spheres.inject('') do |sphere_elements, sphere|
sphere_elements << sphere_tag(sphere)
end
end
Plutôt qu'une explication, je vais te proposer une écriture alternative.
content_tag(:div, html_attributes) do
sphere_elements = ''
ring.spheres.each do |sphere|
sphere_elements << sphere_tag(sphere)
end
sphere_elements
end
En fait, inject permet simplement d'être plus concis.
Voici un billet de blog qui présente des cas d'utilisation de inject : Jay Fields — Ruby inject.
Sephi-Chan