Class: Ms::Data::Transposed
Overview
A Transposed data array lazily evaluates it’s unresolved data as a transposed array. The unresolved data is evaluated into an array using to_a.
t = Ms::Data::Transposed.new([[1,4],[2,5],[3,6]])
t.unresolved_data t.data t[0] t[1] t.data
Instance Attribute Summary
Attributes inherited from Simple
#data, #unresolved_data
Instance Method Summary
collapse
Methods inherited from Simple
#initialize
Instance Method Details
#[](index) ⇒ Object
26
27
28
|
# File 'lib/ms/data/transposed.rb', line 26
def [](index)
resolve.data[index]
end
|
#resolve ⇒ Object
34
35
36
37
|
# File 'lib/ms/data/transposed.rb', line 34
def resolve
@data = @unresolved_data.to_a.transpose unless resolved?
self
end
|
#resolved? ⇒ Boolean
30
31
32
|
# File 'lib/ms/data/transposed.rb', line 30
def resolved?
!@data.empty?
end
|