class Tdms::ChannelEnumerator

Public Class Methods

new(channel) click to toggle source
# File lib/tdms/channel.rb, line 31
def initialize(channel)
  @channel = channel
end

Public Instance Methods

[](i) click to toggle source
# File lib/tdms/channel.rb, line 43
def [](i)
  if (i < 0) || (i >= size)
    raise RangeError, "Channel %s has a range of 0 to %d, got invalid index: %d" %
                      [@channel.path, size - 1, i]
  end

  @channel.file.seek @channel.raw_data_pos + (i * @channel.data_type::LengthInBytes)
  @channel.data_type.read_from_stream(@channel.file).value
end
each() { |self| ... } click to toggle source
# File lib/tdms/channel.rb, line 39
def each
  0.upto(size - 1) { |i| yield self[i] }
end
size() click to toggle source
# File lib/tdms/channel.rb, line 35
def size
  @size ||= @channel.num_values
end