[erlang-questions] How to specify a clear map type
月忧茗
yueyoum@REDACTED
Thu Sep 22 18:39:59 CEST 2016
According this document:
http://erlang.org/doc/reference_manual/typespec.html
I can define a map type like this:
-type my_type() :: #{integer() := string()}.
I have a map called State, it's type is `my_type`, key type is integer,
value type is string.
-spec find_value(atom(), my_type()) -> string().
> find_value(Key, State) when is_atom(Key) ->
> #{Key := Value} = State,
> Value.
Using dialyzer analysis the file. nothing happens.
dialyzer say there is no error for this file.
I know maps are dynamic, my_type() just meas this map must have a integer
key associated with a string value.
But not limit to add other type key and value in the map.
My question is that Is it possible limit the map types of key and value ?
So dialyzer can find the match error in my program.
--
My GitHub
https://github.com/yueyoum
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160923/ff61ccd8/attachment.htm>
More information about the erlang-questions
mailing list