class Coopy::SparseSheet

Attributes

h[RW]
row[RW]
w[RW]
zero[RW]

Public Class Methods

new() click to toggle source
# File lib/lib/coopy/sparse_sheet.rb, line 7
def initialize
  @h = @w = 0
end

Public Instance Methods

get(x,y) click to toggle source
# File lib/lib/coopy/sparse_sheet.rb, line 31
def get(x,y)
  cursor = @row[y]
  return @zero if cursor == nil
  val = cursor[x]
  return @zero if val == nil
  val
end
non_destructive_resize(w,h,zero) click to toggle source
# File lib/lib/coopy/sparse_sheet.rb, line 25
def non_destructive_resize(w,h,zero)
  @w = w
  @h = h
  @zero = zero
end
resize(w,h,zero) click to toggle source
# File lib/lib/coopy/sparse_sheet.rb, line 20
def resize(w,h,zero)
  @row = {}
  self.non_destructive_resize(w,h,zero)
end
set(x,y,val) click to toggle source
# File lib/lib/coopy/sparse_sheet.rb, line 39
def set(x,y,val)
  cursor = @row[y]
  if cursor == nil 
    cursor = {}
    @row[y] = cursor
  end
  cursor[x] = val
end