SortedSet
SortedSet类
Parent:Set
SortedSet实现了一个Set,它可以确保其元素在迭代时按排序顺序(根据它们的#<=>方法的返回值)生成。
所有添加到SortedSet的元素都必须对<=>方法进行响应以进行比较。
此外,所有元素必须相互可比:el1 <=> el2不能返回任何元素el1和el2的nil,否则在迭代SortedSet时将引发ArgumentError。
例
require "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