Class: Tdms::ChannelEnumerator
- Inherits:
-
Object
- Object
- Tdms::ChannelEnumerator
- Includes:
- Enumerable
- Defined in:
- lib/tdms/channel.rb
Instance Method Summary collapse
- #[](i) ⇒ Object
- #each ⇒ Object
-
#initialize(channel) ⇒ ChannelEnumerator
constructor
A new instance of ChannelEnumerator.
- #size ⇒ Object
Constructor Details
#initialize(channel) ⇒ ChannelEnumerator
31 32 33 |
# File 'lib/tdms/channel.rb', line 31 def initialize(channel) @channel = channel end |
Instance Method Details
#[](i) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# 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 ⇒ Object
39 40 41 |
# File 'lib/tdms/channel.rb', line 39 def each 0.upto(size - 1) { |i| yield self[i] } end |
#size ⇒ Object
35 36 37 |
# File 'lib/tdms/channel.rb', line 35 def size @size ||= @channel.num_values end |