[ create a new paste ] login | about

Link: http://codepad.org/GPSpC6Bs    [ raw code | fork ]

Python, pasted on Mar 6:
>>> a=BinaryTree(yielder())
>>> b=iter(a)
>>> next(b)
'a'
>>> next(b)
yielder: None
'a'
>>> next(b)
yielder: None
'a'
>>> try:
	b.send('asd')
except StopIteration as e:
	y=e

	
yielder: asd
binary: yielder return
>>> next(b)
Traceback (most recent call last):
  File "<pyshell#83>", line 1, in <module>
    next(b)
StopIteration
>>> y
StopIteration()
>>> dir(y)
['__cause__', '__class__', '__context__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__traceback__', 'args', 'value', 'with_traceback']
>>> y.value
>>> y.args
()
>>> y.value
>>> type(y.value)
<class 'NoneType'>
>>> class BinaryTree:
	def __init__(self, left=None, us=None, right=None):
		self.left = left
		self.us = us
		self.right = right

	def __iter__(self):
		if self.left:
			yield from self.left
			print ('binary: ')

			
>>> a=BinaryTree(y())
>>> b=iter(a)
>>> a=BinaryTree(y())
>>> b=iter(a)
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
'a'
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
'b'
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
<traceback object at 0x00F31CB0>
('end',)
<class 'StopIteration'>
end
binary: 
<traceback object at 0x00F31CB0>
()
<class 'StopIteration'>
None
>>> def y():
	try:
		yield 'a'
		yield 'b'
		raise StopIteration('end')
	except Exception as e:
		print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')
		raise e

	
>>> a=BinaryTree(y())
>>> b=iter(a)
>>> 
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
'a'
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
'b'
>>> try:
	next(b)
except Exception as e:
	print (e.__traceback__,e.args,e.__class__,e.value,sep='\n')

	
<traceback object at 0x00F31F08>
('end',)
<class 'StopIteration'>
end
binary: 
<traceback object at 0x00F31E40>
()
<class 'StopIteration'>
None


Create a new paste based on this one


Comments: