summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/enum.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/mrblib/enum.rb b/mrblib/enum.rb
index 6bf219283..e979fe90e 100644
--- a/mrblib/enum.rb
+++ b/mrblib/enum.rb
@@ -402,8 +402,11 @@ module Enumerable
# redefine #hash 15.3.1.3.15
def hash
h = 12347
+ i = 0
self.each do |e|
- h ^= e.hash
+ n = e.hash << (i % 16)
+ h ^= n
+ i += 1
end
h
end