From: Florian Gross Date: 2005-03-26T04:14:50+09:00 Subject: Hash::MixIn and Python style Object#dict Moin. I just did a quick implementation of Hash::MixIn (you provide .keys, ..fetch, .store and .delete and get a full-blown Hash interface) and Python style Hash access to an Object's methods. Here's a quick sample IRB session: irb(main):001:0> obj = "foo" => "foo" irb(main):002:0> obj.dict[:reverse] = "Let's lie.".dict[:reverse] => # irb(main):003:0> obj.reverse => ".eil s'teL" irb(main):004:0> obj.dict.values_at(:reverse, :+) => [#, #] irb(main):005:0> obj.dict.reject! { |key, value| key.to_s[0] == ?r } => ##, ...> irb(main):006:0> obj.dict.include?(:rindex) => false The implementation of all this is available at http://flgr.0x42.net/method-dict.rb I might include Hash::MixIn as a sample in the ruby-contract library as it would be a good case for automatically adding to the interface when a given Contract is met. Anyway, does any part of this look useful to you? I've heard quite a few requests for a Hash mix-in, but I'm not sure how to best make this available to the general public. Regards, Florian Gross