I have a function description like that:
-spec match_evaluator(ReplaceFun, Text, Regex) -> Result
when ReplaceFun :: function(),
Text :: string(),
Regex :: string(),
Result :: string().
match_evaluator(ReplaceFun, Text, Regex) ->
I would like to add a more detailed description of the parameters of the parameter ReplaceFun
. ReplaceFun
is a link to a function.
Something like that:
-type replace_fun(string(),[string()]) :: {string(), non_neg_integer()}.
% : bad type variable
I would like to define this type correctly (a function with two parameters and return type). Please, tell me how to correctly describe the type of this function.
2条答案
按热度按时间63lcw9qa1#
例如,你可以写
fun((string(), string()) -> string())
来引用一个接受两个字符串并返回一个字符串的函数。如果你不关心参数或返回类型是什么,那么就用any()
代替它们。我建议你去学习Erlang文档,以获得更多的选择。zaqlnxep2#
有一个
-spec
的函数match_evaluator
:这个解决方案的想法促使我通过@radrow,reference_manual和Erlang标准库
socket_test_evaluator.erl
的源代码(我在文件夹erlang/otp/erts/emulator/test
中找到的)。此函数的源代码为here。