Class: BioTable::LazyValues

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/bio-table/filter.rb

Instance Method Summary collapse

Constructor Details

#initialize(fields) ⇒ LazyValues

Returns a new instance of LazyValues.



6
7
8
9
# File 'lib/bio-table/filter.rb', line 6

def initialize fields
  @fields = fields
  @values = []  # cache values
end

Instance Method Details

#[](index) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/bio-table/filter.rb', line 11

def [] index
  if not @values[index]
    field = @fields[index]
    @values[index] = (Filter::valid_number?(field) ? field.to_f : nil )
  end
  @values[index]
end

#compactObject



25
26
27
28
29
30
31
# File 'lib/bio-table/filter.rb', line 25

def compact
  a = []
  each do | e |
    a << e if e != nil
  end
  a
end

#eachObject



19
20
21
22
23
# File 'lib/bio-table/filter.rb', line 19

def each
  @fields.each_with_index do | field, i |
    yield self[i]
  end
end