我有字典"a Dictionary(#DOB->Date #Name->String #Salary->Number )"
。我需要创建一个应该为的字符串str:= "DOB Date,Name String,Salary Number"
。我尝试使用keysAndValuesDo
:,但无法正确连接它们。
您可以像这样用一种不错的方式做到这一点:
(dict associations collect: [ :assoc |
assoc key asString, ' ', assoc value asString ])
joinUsing: $,
如果您想使用#do:和流,可以这样:
dict associations
do: [ :assoc |
aStream
nextPutAll: assoc key asString;
space;
nextPutAll: assoc value asString ]
separatedBy: [ aStream nextPut: $, ]
请注意,如果要将打印委托给对象本身,而不是将其转换为字符串并手动放入流中,则可以使用:
aStream
print: assoc key;
....
#print:
流的方法发送#printOn:
给该参数。#printOn:
是必须重写的defat方法,以使对象可以在流上正确打印。#asString
使用#printOn:
了大量的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句