In Files

Parent

Racc::ISet

An “indexed” set. All items must respond to :ident.

Attributes

set[R]

Public Class Methods

new(a = []) click to toggle source
    # File lib/racc/iset.rb, line 17
17:     def initialize(a = [])
18:       @set = a
19:     end

Public Instance Methods

[](key) click to toggle source
    # File lib/racc/iset.rb, line 27
27:     def [](key)
28:       @set[key.ident]
29:     end
Also aliased as: include?, key?
[]=(key, val) click to toggle source
    # File lib/racc/iset.rb, line 31
31:     def []=(key, val)
32:       @set[key.ident] = val
33:     end
add(i) click to toggle source
    # File lib/racc/iset.rb, line 23
23:     def add(i)
24:       @set[i.ident] = i
25:     end
clear() click to toggle source
    # File lib/racc/iset.rb, line 81
81:     def clear
82:       @set.clear
83:     end
delete(key) click to toggle source
    # File lib/racc/iset.rb, line 53
53:     def delete(key)
54:       i = @set[key.ident]
55:       @set[key.ident] = nil
56:       i
57:     end
dup() click to toggle source
    # File lib/racc/iset.rb, line 85
85:     def dup
86:       ISet.new(@set.dup)
87:     end
each(&block) click to toggle source
    # File lib/racc/iset.rb, line 59
59:     def each(&block)
60:       @set.compact.each(&block)
61:     end
empty?() click to toggle source
    # File lib/racc/iset.rb, line 77
77:     def empty?
78:       @set.nitems == 0
79:     end
include?(key) click to toggle source
Alias for: []
inspect() click to toggle source
Alias for: to_s
key?(key) click to toggle source
Alias for: []
size() click to toggle source
    # File lib/racc/iset.rb, line 73
73:     def size
74:       @set.nitems
75:     end
to_a() click to toggle source
    # File lib/racc/iset.rb, line 63
63:     def to_a
64:       @set.compact
65:     end
to_s() click to toggle source
    # File lib/racc/iset.rb, line 67
67:     def to_s
68:       "[#{@set.compact.join(' ')}]"
69:     end
Also aliased as: inspect
update(other) click to toggle source
    # File lib/racc/iset.rb, line 38
38:     def update(other)
39:       s = @set
40:       o = other.set
41:       o.each_index do |idx|
42:         if t = o[idx]
43:           s[idx] = t
44:         end
45:       end
46:     end
update_a(a) click to toggle source
    # File lib/racc/iset.rb, line 48
48:     def update_a(a)
49:       s = @set
50:       a.each {|i| s[i.ident] = i }
51:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.