Array.st
changeset 7600 5a3fee21c032
parent 6497 786812ab9bb3
child 7859 837f47feba96
--- a/Array.st	Wed Sep 03 17:57:04 2003 +0200
+++ b/Array.st	Wed Sep 03 18:00:18 2003 +0200
@@ -1625,22 +1625,36 @@
     "Modified: 12.9.1997 / 22:03:18 / cg"
 !
 
+storeArrayElementOn:aStream
+    "store as element of an array. Omit the leading '#'"
+
+    self isLiteral ifTrue:[
+        aStream nextPut:$(.
+        self do:[:element | element storeArrayElementOn:aStream]
+             separatedBy:[aStream space].
+        aStream nextPut:$)
+    ] ifFalse:[
+        super storeOn:aStream
+    ]
+!
+
 storeOn:aStream
     "append a printed representation of the receiver to aStream,
      which allows reconstructing it via readFrom:.
      Redefined to output a somewhat more user friendly string."
 
     self isLiteral ifTrue:[
-	aStream nextPutAll:'#('.
-	self do:[:element | element storeOn:aStream. aStream space].
-	aStream nextPutAll:')'
+        aStream nextPutAll:'#('.
+        self do:[:element | element storeArrayElementOn:aStream]
+             separatedBy:[aStream space].
+        aStream nextPut:$)
     ] ifFalse:[
-	super storeOn:aStream
+        super storeOn:aStream
     ]
 
     "
-     #(1 2 $a 'hello') storeString 
-     #(1 2 $a [1 2 3]) storeString 
+     #(1 2 $a 'hello' sym kewordSymbol:with: #'funny symbol') storeString 
+     #(1 2 $a [1 2 3] true false nil #true #false #nil) storeString 
     "
 
     "Created: 20.11.1995 / 11:16:58 / cg"
@@ -2415,5 +2429,5 @@
 !Array class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.130 2002-04-11 09:44:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.131 2003-09-03 16:00:04 stefan Exp $'
 ! !