<b>=============== Summary ===============</b><br>
<br>
Change Set:        Bag printString<br>
Date:            26 February 2022<br>
Author:            Christoph Thiede<br>
<br>
This changeset customizes the Bag printString to no longer emit every occurence of each element repeatedly.<br>
<br>
Example:<br>
    <font color="#000000">{</font><font color="#800000">10</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">10</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">10</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">10</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">20</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">30</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">30</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">30</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">30</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800000">40</font><font color="#000000"> </font><font color="#000080">@</font><font color="#000000"> </font><font color="#800000">40</font><font color="#000000">}</font><font color="#000000"> </font><font color="#000080">asBag</font><font color="#000000">.</font><font color="#000000"> </font><font color="#800080">'a Bag(10@10->2 20@20->3 30@30->2 40@40->1)'</font><font color="#000000">.</font><br>
<br>
Thanks to Robert (rhi) for the hint!<br>
<br>
<b>=============== Diff ===============</b><br>
<br>
<b>Bag>>printElementsOn: {printing} · ct 2/26/2022 20:26</b><br>
<font color="#FF0000">+ printElementsOn: aStream<br>
+ <br>
+     contents printElementsOn: aStream.</font><br>
<br>
<b>BagTest>>testPrintString {tests} · ct 2/26/2022 20:25</b><br>
<font color="#FF0000">+ testPrintString<br>
+ <br>
+     | bag |<br>
+     bag := Bag new.<br>
+     bag add: '1' withOccurrences: 5.<br>
+     bag add: '2' withOccurrences: 1.<br>
+     bag add: '3' withOccurrences: 3.<br>
+     <br>
+     self assert: 'a Bag(''1''->5 ''2''->1 ''3''->3)' equals: bag printString.</font><br>
<br>
<b>Dictionary>>printElementsOn: {printing} · ct 2/26/2022 20:28 (changed)</b><br>
printElementsOn: aStream <br>
    aStream nextPut: $(.<br>
    self size > 100<br>
        ifTrue: [aStream nextPutAll: 'size '.<br>
            self size printOn: aStream]<br>
        ifFalse: [self keysInOrder<br>
                do: [:key | aStream print: key;<br>
                         nextPutAll: '->';                <br>
<s><font color="#0000FF">-                          print: (self at: key);<br>
-                          space]].<br>
</font></s><font color="#FF0000">+                          print: (self at: key)]<br>
+                 separatedBy: [aStream space]].<br>
</font>    aStream nextPut: $)<br>
<br>
<font color="#808080">---<br>
</font><font color="#808080"><i>Sent from </i></font><font color="#808080"><i><a href="https://github.com/hpi-swa-lab/squeak-inbox-talk"><u><font color="#808080">Squeak Inbox Talk</font></u></a></i></font><br>
["Bag printString.1.cs"]