我正在與我的模塊之一的記錄掙扎。erlang記錄麻煩
-record(user, {pid,
name,
nick}).
隻言片語
每個用戶將被表示爲自己的PID等領域的過程:
我對我的代碼作爲記錄頂部定義。
後來在模塊中我做了以下內容:
Pid = UserPid,
GetUser = fun(X) ->
if X#user.pid =:= Pid -> true;
X#user.pid=/= Pid -> false
end
end,
User = lists:filter(GetUser, Users),
io:format("User pid is ~p~n",[User#user.pid]).
運行這段代碼中,我得到:
** exception error: {badrecord,user}
但是,如果我做的:
io:format("User ~p~n",[User]).
它打印
User [{user,<0.33.0>,name1,nick1}]
任何人都可以指出我錯過了什麼?
感謝
+1非常整齊的Erlang例子。 –
我會做'[U || U < - 用戶,U#user.pid =:= P]'。 –
@Adam Lindberg:+1。更可讀。 –