Я случайно сделал (эквивалент) следующего:
lists:foldl(fun(X, Acc) -> [X|Acc] end, 0, List).
Обратите внимание на начальное значение аккумулятора, которого нет в списке.
Это привело к неправильному списку. Это означает, что length
, et c., Не работают с ним.
Учитывая, что мой "эквивалент" занял час, и я не хочу запускать его снова, как мне исправить мой неправильный список?
Для более простого примера неправильного списка и проблемы, которую он вызывает:
1> L = [1|[2|[3|4]]].
[1,2,3|4]
2> length(L).
** exception error: bad argument
in function length/1
called as length([1,2,3|4])