def delete (k)

      k = k.to_s

      val = @db[k]
      return nil unless val

      @db.out(k) || raise_error
      val
    end
def delete (k)

      k = k.to_s

      val = @db[k]
      return nil unless val

      @db.out(k) || raise_error
      val
    end
Removes an entry in the table

 (might raise an error if the delete itself failed, but returns nil
 if there was no entry for the given key)

 Raises an error if something went wrong