看着二郎文檔,有時我遇到類型規格,該文檔的功能型沒有真正指定類型...如何將一個類型記錄爲一個名稱?
很難解釋,所以讓我給你一個example。在gen_server
的handle_call
功能顯示爲在文檔中的情況如下:
Request = term()
From = {pid(),Tag}
State = term()
Result = {reply,Reply,NewState} | {reply,Reply,NewState,Timeout}
| {reply,Reply,NewState,hibernate}
| {noreply,NewState} | {noreply,NewState,Timeout}
| {noreply,NewState,hibernate}
| {stop,Reason,Reply,NewState} | {stop,Reason,NewState}
Reply = term()
NewState = term()
Timeout = int()>=0 | infinity
Reason = term()
這裏類型Tag
從未顯示(即,它只是一個變量名稱)。
與edoc
是否可以做同樣的事情?我發現最接近的是不透明的類型規格,但是它將它記錄爲抽象 - 是這樣嗎?
同意,建議不要使用EDOC @spec,而使用-spec。 –