我是新来的二郎,我有如下的财产清单。
[{name,<<"127.0.0.1:53290 -> 127.0.0.1:1883">>},{pid,<0.987.0>},{user,<<"guest">>},{type,direct}]
这是我的职责。
close_single_connection(Conn, ReqData) ->
io:format("~p\n", Conn),
case proplists:get_value(pid, Conn) of
undefined -> io:format("Undefined~n"),ok;
Pid when is_pid(Pid) ->
io:format(Pid),
force_close_connection(ReqData, Conn, Pid)
end.
io:format("~p\n", Conn)
正确地返回了我的属性列表。但是proplists:get_value(pid, Conn)
返回了未定义。
当我在Erlang shell中执行以下命令时,它会正确返回Pid值。
List = [{name,<<"127.0.0.1:53290 -> 127.0.0.1:1883">>},{pid,<0.987.0>},{user,<<"guest">>},{type,direct}],
proplists:get_value(pid, List).
请给予我一个确定原因的方法。
1条答案
按热度按时间uoifb46i1#
问题在列表创建步骤中。
列表应按如下方式创建。此操作正常。
以下是错误的。我添加了多余的[],如下所示。