class GridStruct::Selector
Attributes
columns[R]
grid[R]
indexes[R]
rows[R]
Public Class Methods
new(grid,*indexes)
click to toggle source
# File lib/grid_struct/selector.rb, line 5 def initialize(grid,*indexes) @grid = grid @indexes = indexes.freeze end
Public Instance Methods
[](i)
click to toggle source
# File lib/grid_struct/selector.rb, line 16 def [](i) mapped_index = @indexes[i] mapped_index.nil? ? nil : @grid.store[mapped_index] end
[]=(i,value)
click to toggle source
# File lib/grid_struct/selector.rb, line 21 def []=(i,value) mapped_index = @indexes[i] @grid.store[mapped_index] = value unless mapped_index.nil? end
dimensions(rows,columns)
click to toggle source
# File lib/grid_struct/selector.rb, line 10 def dimensions(rows,columns) @rows = rows @columns = columns return self end
to_a()
click to toggle source
# File lib/grid_struct/selector.rb, line 26 def to_a @indexes.size.times.map do |i| self[i] end end
to_grid(rows = nil,columns = nil)
click to toggle source
# File lib/grid_struct/selector.rb, line 32 def to_grid(rows = nil,columns = nil) rows ||= @rows columns ||= @columns GridStruct.new(rows,columns,to_a) end