मैं अपने मॉड्यूल में से एक में रिकॉर्ड के साथ संघर्ष कर रहा हूं।erlang रिकॉर्ड परेशानी
-record(user, {pid,
name,
nick}).
कुछ शब्दों में
प्रत्येक उपयोगकर्ता जा रहा है अपने आप ही पीआईडी और अन्य क्षेत्रों के साथ प्रक्रिया के रूप में प्रतिनिधित्व करने वाला:
मैं अपने कोड एक रिकार्ड के रूप में की चोटी पर परिभाषित किया।
बाद में मॉड्यूल में मैं कर रहा हूँ निम्नलिखित:
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 idiomatic Erlang का बहुत साफ उदाहरण। –
मैं करूँगा [यू || यू <- उपयोगकर्ता, यू # user.pid =: = पी] '। –
@ एडम लिंडबर्ग: +1। और भी पठनीय। –