3
有沒有辦法在Erlang的-spec中「繼承」規範?Erlang:有沒有辦法在-spec中「繼承」?
讓我舉一個例子:
我正在寫一個典型的便利功能,如:
start_link(Opts) -> gen_server:start_link(?MODULE, [Opts], []).
我想寫-spec,如:
-spec start_link(Opts) -> Result when
Opts :: [Opt],
Opts :: {timeout, pos_integer()}
| {return_type, ReturnType},
ReturnType :: binary | string,
的結果gen_server:start_link/3是
Result = {ok,Pid} | ignore | {error,Error}
Pid = pid()
Error = {already_started,Pid} | term()
我必須複製這個或使用模板start_link函數。 我想要做的是以某種方式繼承gen_server:start_link/3的結果。
有沒有辦法做到這一點? 對此有何想法?
謝謝大家!
它看起來很好。我試圖提供一組「類型模塊」,這些模塊可以作爲項目的依賴項,所以我不必將它們複製到每個項目中。像gen_server_types:start_link_ret()。但是,如果這些外部類型沒有正確納入文檔(原因可能是我)。當點擊edoc生成的html鏈接時,鏈接會導致涅v。然後,我將通過我的項目模板包含這些類型模塊。謝謝! – uuid0 2013-05-22 12:49:14