--- 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 $'
! !