我正在尝试修复从透析器找到的erlang代码中的警告。我遇到了一些错误,例如记录构造和列出这些错误的原因。谁能解释。
谢谢!
答案 0 :(得分:0)
正确的列表:
[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中没有得到该记录构造错误。