Een Hash is een Functie

Geplaatst door Michiel de Mare ma, 04 feb 2008 03:46:00 GMT

Tijdens het staren naar de volgende code, kreeg ik opeens een lumineus idee.

specialism_codes.map {|code| SPECIALISMS[code] }

Waarom moet ik een block maken om te mappen van een lijst codes naar een lijst beschrijvingen, als die codes en beschrijvingen allemaal netjes in een constante zitten? Is dat niet juist wat een Hash is, een mapping van een domein naar een bereik? Is dat niet precies de definitie van een functie in de wiskunde? Waarom dan toch dat block?

Enfin, dat was snel opgelost:

class Hash
  def to_proc
    lambda {|x| self[x] }
  end
end

specialism_codes.map &SPECIALISMS

Geplaatst in  | geen reacties

Reacties

(Laat url/e-mail achter »)

   Voorvertoning