Итак, у меня есть странный случай, когда я удаляю элемент 5 из списка, но когда я возвращаю этот новый список, вывод выходит странным образом. До сих пор я проверял это, и есть много случаев, когда это происходит, не только в коде, который я имею ниже, а также случаи, когда это не происходит, но все еще очень похоже. Один пример, в котором он печатается нормально, - это когда я удаляю 10 или 12 вместо 5. Поэтому я знаю, что из списков: member () 10 существует в Newlist, и когда я выполняю io: format (), список приходитправильно. Но когда я на самом деле возвращаю Newlist в конце, я получаю "\ n \ f" как вывод, и я не понимаю, почему полностью. Я полагаю, что это как-то связано со списком, не являющимся стандартным синтаксисом, как указано в документации для io: format для того, что последовательность управления ~ w делает:
"Записывает данные со стандартным синтаксисом. Это используетсядля вывода терминов Эрланга. Атомы печатаются в кавычках, если они содержат встроенные непечатаемые символы. Символы атома> 255. экранируются, если не используется модификатор перевода Unicode (t). Плавания печатаются точно как самая короткая, правильно округленная строка. "
Любые идеи о том, почему это происходит, и решения, которые могут быть у кого-либо, чтобы при возврате списка это был просто список [10,12]?
unload_shiptest3(Container) ->
Q = [5,10,12],
Newlist = Q -- [Container],
R = lists:member(10,Q),
io:format("~w~n",[Newlist]),
Newlist.