[英]find parameter types in an erlang module
搜索后,我找不到如何在erlang模塊中獲取參數類型。 更清楚地說,這就是我想要做的:
erlang:loaded()
->這將返回原子列表,這些原子是模塊名稱 Module:module_info(exports)
->這將返回一個可能是這樣的元組列表:{function_name,number_of_parameters) 一個例子:
application:load("1", 2, "3", {123, "2\\"{[1234", 123}, ad, <<"asa]}\\">>\\", 2, 300:16>>).
輸出:
參數列表:
"1" ---> type: string
2 ---> type: integer
"3" ---> type: string
{123, "2\\"{[1234", 123}
--->類型:tuple` ad ---> type: atom
<<"asa]}\\">>\\", 2, 300:16>> ---> type: binary
我的問題在此得到解決: erlang使用正則表達式將字符串解析為數據類型
我不知道這是可能的,您在Erlang中描述參數的方式是在代碼中使用規范注釋,但並非所有代碼都已被很好地記錄在案,並使用如下規范:
-spec Module:Function(ArgType1, ..., ArgTypeN) -> ReturnType.
同樣,函數可以采用不同的參數類型,並使用防護措施來對輸入進行不同的處理。 甚至在記錄上使用語法糖來創建自定義類型或使用any()
。 透析器是唯一可以幫助的事情,也許檢查dialyzer:plt_info(Plt)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.