Как сохранить каждую строку в текстовом файле в новый список в netlo go? - PullRequest
0 голосов
/ 18 апреля 2020

Как я могу создать новый список для каждой строки в текстовом файле в netlo go? Например, у меня есть файл, содержащий эти значения:

[89 64 90 1 97 45 109]
[89 64 90 1 97 38 109]
[89 101 11 51 80 9 109]
[89 101 11 51 80 16 13 109]
[89 101 11 51 80 16 13 68 109]

И я хотел бы создать список для каждой из этих строк. то есть

List1: [89 101 11 51 80 16 109]
List2: [89 101 11 51 80 9 109]
etc...

Количество строк в файле варьируется, поэтому количество списков не может быть статически распределено. Это текущий код для l oop через файл и вывода каждой строки в виде списка в консоли:


to DetermineRoute

  ask sensors with [color = green][
  file-open "BaseStationRoutes.txt"
    while [ not file-at-end? ] [
    let Route file-read-line
    set Route read-from-string Route
    print Route
    print length Route ;length is the hop count
    ]
    file-close 
  ]

end

Конечная цель - получить среднюю длину каждого списка для расчета стандартного отклонения .

Буду признателен за любой совет,

С наилучшими пожеланиями,

Том

1 Ответ

3 голосов
/ 19 апреля 2020

Не имея пояснения, которое просит JenB, давайте просто рассмотрим, как хранить переменное количество списков переменной длины. Лучшая структура для этого в NetLo go - это список списков, поскольку списки могут иметь различную длину и содержать разнородные элементы. Ваша процедура выше будет тогда

to DetermineRoute
  ask sensors with [color = green][
  let Routes []
  file-open "BaseStationRoutes.txt"
    while [ not file-at-end? ] [
    let  Route file-read-line
    set Route read-from-string Route
    set Routes lput Route Routes
;    print length Route ;length is the hop count
    ]
    file-close 
  ]
end

Routes инициализируется как пустой список, и каждая строка файла добавляется в этот список с lput. Каждый Route является элементом в Routes, например, первый Route является item 0 Routes, et c. Количество списков маршрутов length Routes, а длина (скажем) третьего маршрута length item 2 Routes.

Надеюсь, это поможет, Чарльз

...