缺少函数的Erlang编译时错误

And*_*ill 4 erlang

当我在另一个不存在或具有错误arity的模块中调用函数时,为什么没有编译时错误或警告?

编译器具有模块中的所有导出信息,以实现此目的.它是否尚未实施,还是有技术原因导致我无法看到它?

vir*_*tor 5

我不知道为什么它会丢失(可能是因为模块是完全独立的,并且编译一个并不真正依赖于另一个 - 但这只是猜测).但我相信你可以通过透析器静态分析找到这样的问题.请访问http://www.erlang.org/doc/man/dialyzer.html

它是系统本身的一部分,因此请尝试将其包含在您的工作流程中.

  • 关于使用`Dialyzer`进行这种类型的错误检测,即使我强烈建议这样做(因为Dialyzer是一个更强大的工具),你真的只需要`xref`. (3认同)