Klemme's Silent Hash #
I’m afraid the old skool weezzard Robert Klemme is trumping flgr this month on Ruby-Talk. Both are skilled prospectors, but Klemme’s been dropping some splendorous nuggets lately. The extemporaneous challenge of the minute has been to add a block to Enumerable#uniq
.
Klemme offers uniq_by
:
module Enumerable def uniq_by h = {}; inject([]) {|a,x| h[yield(x)] ||= a << x} end end
He’s got a miniature Jacob’s Ladder going on inside that block. The lynch pin is that perpendicular OR-SET. He’s using it like a backwards conditional.
Here’s a simpler proof:
>> a = []; b = nil >> b ||= a << 1 >> b ||= a << 2 >> a => [1]
Anyway, it’s gorgeous and he’s got it all linked up perfectly. What with a#<<
returning a
. And then h[]
turns around and hands a
back to inject
. (Thanks, Glenn Parker for the tip.)
cilibrar
That’s awesome.
Alex
Great, the language designed for Least Surprise is getting its own Obfuscation Terrorists.
Comments are closed for this entry.