Welcome, guest | Sign In | My Account | Store | Cart
class Pipeable( object ):
	def _other( self, other ):
		self.other = other
	def __iter__( self ):
		for i in self.other:
			yield i
	def __or__( self, right ):
		right._other( self )
		return right

class Filter( Pipeable ):
	def __init__( self, filter ):
		self.filter = filter
	def __iter__( self ):
		for line in self.other:
			yield self.filter( line )

class Cat( Pipeable ):
	def __init__( self, iterable ):
		self.other = iterable

class Reverse( Pipeable ):
	def __iter__( self ):
		for line in self.other:
			yield line[::-1]

if __name__ == '__main__':
	for line in Cat( ('This', 'is', 'just', 'an', 'example') ) | Reverse() | Filter( lambda str : str[::-1] ):
		print line,
	

History

  • revision 2 (14 years ago)
  • previous revisions are not available