

@classdef.method('shift')
@check_frozen()
def method_shift(self, space, w_n=None):
    if (w_n is None):
        if self.items_w:
            return self.items_w.pop(0)
        else:
            return space.w_nil
    n = space.int_w(space.convert_type(w_n, space.w_fixnum, 'to_int'))
    if (n < 0):
        raise space.error(space.w_ArgumentError, 'negative array size')
    items_w = self.items_w[:n]
    del self.items_w[:n]
    return space.newarray(items_w)

dataset/ETHPy150Open topazproject/topaz/topaz/objects/arrayobject.py W_ArrayObject.method_shift/original