Class: SortedSet
- Inherits:
-
Set
show all
- Defined in:
- lib/rubysl/set/set.rb
Overview
SortedSet implements a set which elements are sorted in order. See Set.
Constant Summary
collapse
- @@setup =
false
Constants inherited
from Set
Set::InspectKey
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Set
#&, #-, #==, #^, #add?, #classify, #collect!, #delete?, #divide, #empty?, #eql?, #flatten, #flatten!, #hash, #include?, #initialize_copy, #inspect, #pretty_print, #pretty_print_cycle, #proper_subset?, #proper_superset?, #reject!, #size, #subset?, #subtract, #superset?, #|
Methods included from Enumerable
#to_set
Constructor Details
#initialize(*args, &block) ⇒ SortedSet
Returns a new instance of SortedSet.
447
448
449
450
|
# File 'lib/rubysl/set/set.rb', line 447
def initialize(*args, &block)
@keys = nil
super
end
|
Class Method Details
.[](*ary) ⇒ Object
442
443
444
|
# File 'lib/rubysl/set/set.rb', line 442
def [](*ary) new(ary)
end
|
Instance Method Details
#add(o) ⇒ Object
Also known as:
<<
462
463
464
465
466
467
|
# File 'lib/rubysl/set/set.rb', line 462
def add(o)
raise ArgumentError, "value must respond to <=>" unless o.respond_to?(:<=>)
@keys = nil
@hash[o] = true
self
end
|
#clear ⇒ Object
452
453
454
455
|
# File 'lib/rubysl/set/set.rb', line 452
def clear
@keys = nil
super
end
|
#delete(o) ⇒ Object
471
472
473
474
475
|
# File 'lib/rubysl/set/set.rb', line 471
def delete(o)
@keys = nil
@hash.delete(o)
self
end
|
#delete_if ⇒ Object
477
478
479
480
481
482
|
# File 'lib/rubysl/set/set.rb', line 477
def delete_if
n = @hash.size
super
@keys = nil if @hash.size != n
self
end
|
#each ⇒ Object
489
490
491
492
493
|
# File 'lib/rubysl/set/set.rb', line 489
def each
return enum_for(:each) unless block_given?
to_a.each { |o| yield(o) }
self
end
|
#merge(enum) ⇒ Object
484
485
486
487
|
# File 'lib/rubysl/set/set.rb', line 484
def merge(enum)
@keys = nil
super
end
|
#replace(enum) ⇒ Object
457
458
459
460
|
# File 'lib/rubysl/set/set.rb', line 457
def replace(enum)
@keys = nil
super
end
|
#to_a ⇒ Object
495
496
497
498
499
500
501
502
|
# File 'lib/rubysl/set/set.rb', line 495
def to_a
unless @keys
keys = @hash.keys
keys.sort!
@keys = keys
end
@keys
end
|