changeset 19:ae507a2db662

Simplify the pattern for waiting data (yield)
author Thinker K.F. Li <thinker@codemud.net>
date Wed, 30 Mar 2011 10:38:10 +0800
parents 88b4dfe7b5cc
children 82acaafa57f9
files example/lineno.py
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/example/lineno.py	Tue Mar 29 17:23:23 2011 +0800
+++ b/example/lineno.py	Wed Mar 30 10:38:10 2011 +0800
@@ -1,16 +1,17 @@
 from shada.pysh import run
 
 def lineno(args, env, session):
-    yield
     i = 0
     while True:
-        data = session.recv()
+        yield                   # wait stdin
+        
+        data = session.recv()   # receive data from stdin
         if data == None:
             break
 
         i = i + 1
-        print '%d %s' % (i, data.strip())
-        yield
+        out = '%d %s\n' % (i, data.strip())
+        session.send(out)       # send to stdout
         pass
     pass