Проблема с записями в 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}]

Кто-нибудь может указать, что мне не хватает?

Спасибо

6
задан user601836 21 July 2011 в 08:41
поделиться