Smalltalk将Sorted Collection写入文件

时间:2013-11-26 21:48:42

标签: collections smalltalk fileoutputstream

假设我有一个名为whitepages的SortedCollection,每条记录都包含Customer,其值为namenumber。 我想创建一个函数,以这种方式将它们写入文件

name1 
number1 
name2
number2

我必须承认我完全被困在这里。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:6)

好的,所以我希望你知道如何写入文件。 当你注意到你已经对集合进行了排序时,我认为Customer是以你想要的方式排序的。

然后你可以做的是:

(whitepages collect: [ :customer |
  customer name,
  Character cr asString,
  customer number ]) joinUsing: Character cr

这样你就会得到一个你只需要写入文件的字符串。另请注意,如果namenumber不是字符串,则可以使用asString

规范的方法是做类似的事情:

whitepages do: [ :customer |
  stream
    nextPutAll: customer name;
    cr;
    nextPutAll: customer number;
    cr ]

其中stream是文件的写入流。