RosettaCodeData/Task/Queue-Definition/Python/queue-definition-2.py

16 lines
456 B
Python

class FIFO: ## NOT a new-style class, must not derive from "object"
def __init__(self,*args):
self.contents = list(args)
def __call__(self):
return self.pop()
def empty(self):
return bool(self.contents)
def pop(self):
return self.contents.pop(0)
def __getattr__(self, attr):
return getattr(self.contents,attr)
def next(self):
if not self:
raise StopIteration
return self.pop()