在SmallTalk中打印带分隔符的集合的正确方法 - 吱吱声?

wan*_*mer 3 oop smalltalk squeak

我一直在尝试使用以下代码重新定义printOn方法:

coordinates do: [:elem | aStream print: elem] separatedBy: [aStream print: ' ,']
Run Code Online (Sandbox Code Playgroud)

其中"coordinates"代表集合的名称(OrderedCollection),但我希望在调用Transcript show时打印出来:

(2/2) ,(1/1) ,(3/3) ,(-4/4)
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

(2/2)','(1/1)','(3/3)','(-4/4)
Run Code Online (Sandbox Code Playgroud)

一世.e也打印了报价.

我试着玩它,定义一个局部变量并使用它等等.没有任何效果.

Max*_*ske 8

不要#print:用来打印字符串.使用#nextPutAll:安全(适用于所有收藏).#print:在流上写一个字符串表示并用引号括起参数,这就是你在输出中得到引号的原因.