class Neighbor::SparseVector

def initialize(value, dimensions = NO_DEFAULT)

def initialize(value, dimensions = NO_DEFAULT)
  if value.is_a?(Hash)
    if dimensions == NO_DEFAULT
      raise ArgumentError, "missing dimensions"
    end
    from_hash(value, dimensions)
  else
    unless dimensions == NO_DEFAULT
      raise ArgumentError, "extra argument"
    end
    from_array(value)
  end
end