ByteArray.st
changeset 25342 22ed206a234e
parent 25210 672a4cdd0524
--- a/ByteArray.st	Tue Mar 24 08:58:26 2020 +0100
+++ b/ByteArray.st	Tue Mar 24 18:46:45 2020 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
@@ -2801,21 +2803,48 @@
 printOn:aStream base:radix showRadix:showRadix
     "append a printed representation to aStream in the given number base."
 
-    |cls|
+    self printOn:aStream base:radix showRadix:showRadix wrapAfter:nil
+
+    "
+     #[1 2 3 4 5] printOn:Transcript base:2
+     'Hello World' asByteArray printOn:Transcript base:2 showRadix:false
+
+     #[1 2 3 4 5] storeString
+     #[1 2 3 4 5] displayString
+     #[1 2 3 4 5] printString
+    "
+
+    "Modified: / 12.9.1997 / 22:11:33 / cg"
+    "Modified: / 17.3.1999 / 17:01:31 / stefan"
+    "Created: / 31.10.2001 / 09:43:41 / cg"
+!
+
+printOn:aStream base:radix showRadix:showRadix wrapAfter:colCntOrNil
+    "append a printed representation to aStream in the given number base."
+
+    |cls count|
 
     ((cls := self class) == ByteArray or:[cls == ImmutableByteArray]) ifTrue:[
-	"/ care for subclasses
-	aStream nextPutAll:'#['.
-	self
-	    do:[:byte | byte printOn:aStream base:radix showRadix:showRadix]
-	    separatedBy:[aStream space].
-	aStream nextPut:$].
-	^ self
+        "/ care for subclasses
+        aStream nextPutAll:'#['.
+        count := 0.
+        self
+            do:[:byte | 
+                    byte printOn:aStream base:radix showRadix:showRadix.
+                    colCntOrNil notNil ifTrue:[
+                        count := count + 1.
+                        count == colCntOrNil ifTrue:[ aStream cr. count := 0 ].
+                    ]
+               ]
+            separatedBy:[aStream space].
+        aStream nextPut:$].
+        ^ self
     ].
     ^ self printOn:aStream
 
     "
      #[1 2 3 4 5] printOn:Transcript base:2
+     (1 to:255) asByteArray printOn:Transcript base:16 showRadix:false wrapAfter:16
      'Hello World' printOn:Transcript base:2
 
      #[1 2 3 4 5] storeString