Sha256: be3688911e843ddec34bd6369ed86874a58cf42bbc4d6762c64148e2cce01932

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

= enumerable_hashify

Defines Enumerable#hashify, which creates a hash with the enumerable's
items as keys and with given constant value or with block-computed values:

  [1,2,3,4].hashify                 --> {1=>true, 2=>true, 3=>true, 4=>true}
  [1,2,3,4].hashify("a")            --> {1=>"a", 2=>"a", 3=>"a", 4=>"a"}
  [1,2,3,4].hashify{|n| "a" * n}    --> {1=>"a", 2=>"aa", 3=>"aaa", 4=>"aaaa"}

== Tested on

MRI 1.8.7, MRI 1.9.2

== Naming and Historical Note

I've been using this in my projects for years with the name
Enumerable#to_h, and figured it was time to make a gem since nobody else
seems to have.

But there's been a bunch of discussion online as to what the proper
semantics that 'to_h' should have.  I recently found a proposal from back
in 2001 that suggested this same functionality with the name
hashify[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/11195]
which seemed pretty good to me.  I don't know why that proposal wasn't
adopted as part of ruby.  But here it is as a gem.

== Note on Patches/Pull Requests
 
* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a
  future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2011 Ronen Barzel. See LICENSE for details.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
enumerable_hashify-0.0.1 README.rdoc