Smalltalk将Sorted Collection写入文件

Sim*_*mon 2 collections smalltalk fileoutputstream

假设我有一个调用的SortedCollection whitepages,每个记录包含一个Customer带有值name和的值number.我想创建一个函数,以这种方式将它们写入文件

name1 
number1 
name2
number2
Run Code Online (Sandbox Code Playgroud)

我不得不承认我完全被困在这里.有人可以帮忙吗?

Uko*_*Uko 6

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

然后你可以做的是:

(whitepages collect: [ :customer |
  customer name,
  Character cr asString,
  customer number ]) joinUsing: Character cr
Run Code Online (Sandbox Code Playgroud)

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

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

whitepages do: [ :customer |
  stream
    nextPutAll: customer name;
    cr;
    nextPutAll: customer number;
    cr ]
Run Code Online (Sandbox Code Playgroud)

stream文件的写入流在哪里.