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

时间:2014-11-09 14:46:14

标签: oop smalltalk squeak

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

coordinates do: [:elem | aStream print: elem] separatedBy: [aStream print: ' ,']

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

(2/2) ,(1/1) ,(3/3) ,(-4/4)

我得到了这个:

(2/2)','(1/1)','(3/3)','(-4/4)

我。 e也打印了报价。

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

1 个答案:

答案 0 :(得分:8)

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