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 AttrSpanforlengthcharacters.
Instance Method Summary
- 
    
      #[](n)  
    
    Accesses flags for character n.
- 
    
      #set_attrs(start, length, bits)  
    
    Toggles bitsfromstarttolength
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