def call(self, interpreter, arguments, parentheses): if not isinstance(arguments[0], PseudoList): raise RuntimeError(parentheses, "Can only remove elements from a list.") pseudoList = DeepCopy(arguments[0]) pseudoList._checkIndex(parentheses, arguments[1]) #bad, using a private method but CBA del pseudoList.getValues()[int(arguments[1])] return PseudoList(pseudoList.getValues())
def call(self, interpreter, arguments, parentheses): if not isinstance(arguments[0], PseudoList): raise RuntimeError(parentheses, "Can only slice a list.") if not isinstance(arguments[1], float) and not isinstance(arguments[2], float): raise RuntimeError(parentheses, "Start and End indices must be numbers.") pseudoList = DeepCopy(arguments[0]) pseudoList._checkIndex(parentheses, arguments[1]) pseudoList._checkIndex(parentheses, arguments[2]) return PseudoList(pseudoList.getValues()[int(arguments[1]) : int(arguments[2])])