很多时候我们编写的模块方法需要明确的参数类型,方便使用,-type 以及-spec 就提供了此能力
参考使用
- app.erl
-module(app).
-export([myadd/1,mydemo/1]).
-type add() :: {integer(), integer()}.
-spec myadd(add()) -> integer().
myadd(Args) ->
{A,B} = Args,
A + B.
-spec mydemo(add()) -> integer().
mydemo({A,B}) ->
A + B.
- 使用
说明
此方法在不少erlang 项目中都可以看到,用好了很方便
参考资料
https://www.erlang.org/docs/26/reference_manual/typespec
https://www.erlang.org/docs/26/reference_manual/data_types
https://www.erlang.org/docs/26/reference_manual/typespec#specifications-for-functions