Smalltalk записать отсортированную коллекцию в файл

Скажем, у меня есть SortedCollection под названием whitepagesкаждая запись, содержащая Customerсо значениями name а также number, Я хочу создать функцию, которая будет записывать их в файл таким образом

name1 
number1 
name2
number2

Я должен признать, что я полностью застрял здесь. Кто-нибудь может помочь?

1 ответ

Решение

Итак, я надеюсь, что вы знаете, как записать в файл. И как вы заметили, что вы отсортировали коллекцию, я полагаю, что CustomerСортируются так, как вы хотите.

Тогда то, что вы можете сделать, это:

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

Таким образом, вы получите строку, которую вам просто нужно записать в файл. Также обратите внимание, что если name или же number не строки, которые вы можете использовать asString на них.

Канонический способ - сделать что-то вроде:

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

куда stream поток записи в файл

Другие вопросы по тегам