summaryrefslogtreecommitdiffstats
path: root/Demo/classes/Rev.py
diff options
context:
space:
mode:
Diffstat (limited to 'Demo/classes/Rev.py')
-rwxr-xr-xDemo/classes/Rev.py82
1 files changed, 41 insertions, 41 deletions
diff --git a/Demo/classes/Rev.py b/Demo/classes/Rev.py
index c1874c6..467bd57 100755
--- a/Demo/classes/Rev.py
+++ b/Demo/classes/Rev.py
@@ -5,13 +5,13 @@
#
# >>> for c in Rev( 'Hello World!' ) : sys.stdout.write( c )
# ... else: sys.stdout.write( '\n' )
-# ...
+# ...
# !dlroW olleH
#
# The .forw is so you can use anonymous sequences in __init__, and still
-# keep a reference the forward sequence. )
+# keep a reference the forward sequence. )
# If you give it a non-anonymous mutable sequence, the reverse sequence
-# will track the updated values. ( but not reassignment! - another
+# will track the updated values. ( but not reassignment! - another
# good reason to use anonymous values in creating the sequence to avoid
# confusion. Maybe it should be change to copy input sequence to break
# the connection completely ? )
@@ -19,14 +19,14 @@
# >>> nnn = range( 0, 3 )
# >>> rnn = Rev( nnn )
# >>> for n in rnn: print n
-# ...
+# ...
# 2
# 1
# 0
-# >>> for n in range( 4, 6 ): nnn.append( n ) # update nnn
-# ...
-# >>> for n in rnn: print n # prints reversed updated values
-# ...
+# >>> for n in range( 4, 6 ): nnn.append( n ) # update nnn
+# ...
+# >>> for n in rnn: print n # prints reversed updated values
+# ...
# 5
# 4
# 2
@@ -35,55 +35,55 @@
# >>> nnn = nnn[1:-1]
# >>> nnn
# [1, 2, 4]
-# >>> for n in rnn: print n # prints reversed values of old nnn
-# ...
+# >>> for n in rnn: print n # prints reversed values of old nnn
+# ...
# 5
# 4
# 2
# 1
# 0
-# >>>
+# >>>
#
# WH = Rev( 'Hello World!' )
# print WH.forw, WH.back
# nnn = Rev( range( 1, 10 ) )
# print nnn.forw
# print nnn
-#
+#
# produces output:
-#
+#
# Hello World! !dlroW olleH
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# [9, 8, 7, 6, 5, 4, 3, 2, 1]
-#
-# >>>rrr = Rev( nnn )
+#
+# >>>rrr = Rev( nnn )
# >>>rrr
-# <1, 2, 3, 4, 5, 6, 7, 8, 9>
+# <1, 2, 3, 4, 5, 6, 7, 8, 9>
from string import joinfields
class Rev:
- def __init__( self, seq ):
- self.forw = seq
- self.back = self
- def __len__( self ):
- return len( self.forw )
- def __getitem__( self, j ):
- return self.forw[ -( j + 1 ) ]
- def __repr__( self ):
- seq = self.forw
- if type(seq) == type( [] ) :
- wrap = '[]'
- sep = ', '
- elif type(seq) == type( () ) :
- wrap = '()'
- sep = ', '
- elif type(seq) == type( '' ) :
- wrap = ''
- sep = ''
- else:
- wrap = '<>'
- sep = ', '
- outstrs = []
- for item in self.back :
- outstrs.append( str( item ) )
- return wrap[:1] + joinfields( outstrs, sep ) + wrap[-1:]
+ def __init__( self, seq ):
+ self.forw = seq
+ self.back = self
+ def __len__( self ):
+ return len( self.forw )
+ def __getitem__( self, j ):
+ return self.forw[ -( j + 1 ) ]
+ def __repr__( self ):
+ seq = self.forw
+ if type(seq) == type( [] ) :
+ wrap = '[]'
+ sep = ', '
+ elif type(seq) == type( () ) :
+ wrap = '()'
+ sep = ', '
+ elif type(seq) == type( '' ) :
+ wrap = ''
+ sep = ''
+ else:
+ wrap = '<>'
+ sep = ', '
+ outstrs = []
+ for item in self.back :
+ outstrs.append( str( item ) )
+ return wrap[:1] + joinfields( outstrs, sep ) + wrap[-1:]