Sha256: 963c749e4027236759f158012c3f19d4d555c5b7de37d110983838fd2ae2237a
Contents?: true
Size: 724 Bytes
Versions: 3
Compression:
Stored size: 724 Bytes
Contents
module Enumerable # Like `#map`/`#collect`, but generates a Hash. The block is expected # to return two values: the key and the value for the new hash. # # numbers = (1..3) # squares = numbers.graph{ |n| [n, n*n] } # { 1=>1, 2=>4, 3=>9 } # sq_roots = numbers.graph{ |n| [n*n, n] } # { 1=>1, 4=>2, 9=>3 } # # CREDIT: Andrew Dudzik (adudzik), Trans def graph(&yld) if yld h = {} each do |*kv| r = yld[*kv] case r when Hash nk, nv = *r.to_a[0] when Range nk, nv = r.first, r.last else nk, nv = *r end h[nk] = nv end h else Enumerator.new(self,:graph) end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
facets-glimmer-3.2.0 | lib/core/facets/enumerable/graph.rb |
facets-3.1.0 | lib/core/facets/enumerable/graph.rb |
facets-3.0.0 | lib/core/facets/enumerable/graph.rb |