Class: RDoc::Markup::AttrSpan
- Inherits:
-
Object
- Object
- RDoc::Markup::AttrSpan
- Defined in:
- lib/rdoc/markup/attr_span.rb
Overview
An array of attributes which parallels the characters in a string.
Instance Method Summary collapse
-
#[](n) ⇒ Object
Accesses flags for character
n
. -
#initialize(length, exclusive) ⇒ AttrSpan
constructor
Creates a new AttrSpan for
length
characters. -
#set_attrs(start, length, bits) ⇒ Object
Toggles
bits
fromstart
tolength
.
Constructor Details
#initialize(length, exclusive) ⇒ AttrSpan
Creates a new AttrSpan for length
characters
10 11 12 13 |
# 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) ⇒ Object
Accesses flags for character n
31 32 33 |
# File 'lib/rdoc/markup/attr_span.rb', line 31 def [](n) @attrs[n] end |
#set_attrs(start, length, bits) ⇒ Object
Toggles bits
from start
to length
17 18 19 20 21 22 23 24 25 26 |
# 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 |