class SortedSet

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

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

Public Class Methods

new(*args) click to toggle source

Creates a SortedSet. See Set.new for details.

Calls superclass method
# File lib/sorted_set.rb, line 53
def initialize(*args)
  @hash = RBTree.new
  super
end