Так как вы повторяете timeSeries
перед , вы добавляете следующее число, ввод последней строки с 4
вызывает @[7.0, 1.0, 4.0, 4.0, nan]
, и это - догадка, что вы сделали после этого, чтобы получить финалвыходная линия.Хотя я сомневаюсь, что есть веская причина для чего-либо устанавливать каждое значение в последовательности на NaN
, возможно, что ваш ввод вызвал ошибку.
Мне не удалось воспроизвести ваши выходные данные с вашим кодом (добавив требуемый import strutils
) при вводе вашей последовательности, за которой следует другая 4
, nan
или пустая строка (последняя ошибка при неправильном перемещении).
Для упрощения тестирования я поместил ваш ввод в файл input.txt
:
7
1
4
4
nan
4
и запустил следующее в последней стабильной версии nim (Nim Compiler Version 0.19.4 [Linux]: amd64]) как последняя версия devel nim (Nim Compiler версии 0.19.9 [Linux: amd64]):
import strutils
var
line: TaintedString
timeSeries: seq[float]
echo timeSeries
for line in "input.txt".lines:
timeSeries.add(parseFloat(line.strip))
echo timeSeries
(.strip
существует только для обработки конечных пробелов во входных данных, которые былирезультат вырезания и вставки и небрежного редактирования)
Вывод обоих компиляторов:
@[]
@[7.0]
@[7.0, 1.0]
@[7.0, 1.0, 4.0]
@[7.0, 1.0, 4.0, 4.0]
@[7.0, 1.0, 4.0, 4.0, nan]
@[7.0, 1.0, 4.0, 4.0, nan, 4.0]
компиляция с -d:release
также не вызвала ошибок.