class Racc::ISet
一个“索引”集合。所有项都必须响应 :ident。
属性
set[R]
公共类方法
new(a = []) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 18 def initialize(a = []) @set = a end
公共实例方法
[](key) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 28 def [](key) @set[key.ident] end
[]=(key, val) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 32 def []=(key, val) @set[key.ident] = val end
add(i) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 24 def add(i) @set[i.ident] = i end
clear() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 82 def clear @set.clear end
delete(key) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 54 def delete(key) i = @set[key.ident] @set[key.ident] = nil i end
dup() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 86 def dup ISet.new(@set.dup) end
each(&block) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 60 def each(&block) @set.compact.each(&block) end
empty?() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 78 def empty? @set.nitems == 0 end
size() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 74 def size @set.nitems end
to_a() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 64 def to_a @set.compact end
to_s() 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 68 def to_s "[#{@set.compact.join(' ')}]" end
别名为:inspect
update(other) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 39 def update(other) s = @set o = other.set o.each_index do |idx| if t = o[idx] s[idx] = t end end end
update_a(a) 点击以切换源代码
# File racc-1.8.1/lib/racc/iset.rb, line 49 def update_a(a) s = @set a.each {|i| s[i.ident] = i } end