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