Class: SortedSet

Inherits:
Set
  • Object
show all
Defined in:
lib/sorted_set.rb

Overview

SortedSet implements a Set whose elements are sorted in ascending order (according to the return values of their ‘<=>` methods) when iterating over them.

Every element in SortedSet must be *mutually comparable* to every other: comparison with ‘<=>` must not return nil for any pair of elements. Otherwise ArgumentError will be raised.

## Example

“‘ruby require “sorted_set”

set = SortedSet.new([2, 1, 5, 6, 4, 5, 3, 3, 3]) ary = []

set.each do |obj|

ary << obj

end

p ary # => [1, 2, 3, 4, 5, 6]

set2 = SortedSet.new([1, 2, “3”]) set2.each { |obj| } # => raises ArgumentError: comparison of Fixnum with String failed “‘

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ SortedSet

Creates a SortedSet. See Set.new for details.



53
54
55
56
# File 'lib/sorted_set.rb', line 53

def initialize(*args)
  @hash = RBTree.new
  super
end