我正在尝试修复从透析器中找到的 erlang 代码中的警告。我遇到了一些错误,例如记录构建和不正确的列表是导致这些错误的原因。谁能解释一下。
谢谢你!
正确的清单:
[1|[2]]
不正确的清单:
[1|2]
...这可能是由于定义了这样的函数:
f([H|[]]) -> H-1;
f([H|T]) -> [H - 1 | f(T) ].
代替:
f([H|[]]) -> [H-1];
f([H|T]) -> [H - 1 | f(T) ].
记录构造错误:
http://erlang.org/pipermail/erlang-questions/2013-June/074118.html。
我没有在 erlang 20.2 中得到那个记录构造错误。