[ create a new paste ] login | about

Link: http://codepad.org/K6wSMZB6    [ raw code | fork ]

Ruby, pasted on Jun 5:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
175   def flatten_merge(set, seen = Set.new) # :nodoc:
176     set.each { |e|
177       if e.is_a?(Set)
178         if seen.include?(e_id = e.object_id)
179           raise ArgumentError, "tried to flatten recursive Set"
180         end
181 
182         seen.add(e_id)
183         flatten_merge(e, seen)
184         seen.delete(e_id)
185       else
186         add(e)
187       end
188     }
189 
190     self
191   end


Create a new paste based on this one


Comments: