我是erlang编程的新手。我有很多疑问。其中一个是使用-spec。
“-spec”在Erlang语法中做了什么?如果使用或不使用-spec
创建函数,有什么区别没有-spec的功能
add(A, B) ->
A + B.
与-spec一起使用
-spec add(Number, Number).
add(A, B) ->
A + B.
我在google上搜索但无法理解-spec的确切用法。有人可以解释一下吗?
答案 0 :(得分:7)
<div class = "oneClass" id = "oneId">
<div class = "abc"> // NOT ALLOWED TO ADD ANYTHING HERE
Phil
</div>
</div>
<div class ="twoClass" id = "twoId">
<div class = "abc"> // NOT ALLOWED TO ADD ANYTHING HERE
Heath
</div>
</div>
会添加有关代码的信息。它表示函数的arity并与<div class = "oneClass" id = "oneId">
<div class = "xyz"> // CLASS NAME GOT CHANGED
Phil
</div>
</div>
<div class ="twoClass" id = "twoId">
<div class = "abc"> // CLASS NAME REMAINES SAME
Heath
</div>
</div>
声明相结合,对文档和错误检测工具很有帮助。
Edoc等工具使用这些类型规范来构建文档。 像Dialyzer这样的工具使用它来进行代码的静态分析。
因此,它不会被正在运行的代码直接使用,但许多工具使用它来更好地理解&#34;代码。