Class: RDoc::Markup::AttrSpan
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rdoc/markup/attr_span.rb |
Overview
An array of attributes which parallels the characters in a string.
Class Method Summary
-
.new(length, exclusive) ⇒ AttrSpan
constructor
Creates a new
AttrSpan
forlength
characters.
Instance Method Summary
-
#[](n)
Accesses flags for character
n
. -
#set_attrs(start, length, bits)
Toggles
bits
fromstart
tolength
Constructor Details
.new(length, exclusive) ⇒ AttrSpan
Creates a new AttrSpan
for length
characters
# File 'lib/rdoc/markup/attr_span.rb', line 10
def initialize(length, exclusive) @attrs = Array.new(length, 0) @exclusive = exclusive end
Instance Method Details
#[](n)
Accesses flags for character n
# File 'lib/rdoc/markup/attr_span.rb', line 31
def [](n) @attrs[n] end
#set_attrs(start, length, bits)
Toggles bits
from start
to length
# File 'lib/rdoc/markup/attr_span.rb', line 17
def set_attrs(start, length, bits) updated = false for i in start ... (start+length) if (@exclusive & @attrs[i]) == 0 || (@exclusive & bits) != 0 @attrs[i] |= bits updated = true end end updated end