I持っている一つのフィールドがリストされているレコード:Erlangのリストフィルタ質問
-record(state, {
rcpt :: list()
}).
RCPTフィールドには、いくつかの値を持っている=
[ "localhost" を、 "管理者"]
このリストをフィルタリングする必要があります。たとえば、私はlocalhostというフィールドが必要です。
私が試してみてください。
List = lists:filter(fun(X) -> LocalHost =:= X end, State#state.rcpt),
が、リストは空です。
どうしたのですか?
わかりません。
io:format(State#state.rcpt),
%% output: localhost
HaveRcpt = lists:member("localhost", State#state.rcpt),
io:format(HaveRcpt);
%% output false
をしかし、私は使用している場合::見て
io:format(State#state.rcpt),
HaveRcpt = lists:member("localhost", lists:nth(1,State#state.rcpt)),
io:format(HaveRcpt);
%% true
ありがとうございました。
コメントとして働くだろう正しいコンテンツを持っている希望の場合
| [_]を[は「localhost」]を含む必要がRCPT 。 State =#state {rcpt = ["localhost"、 "admin"]} 'および' 2。 false = lists:member( "localhost"、State#state.rcpt) 'は矛盾しています。州とそのフィールドrcptに正確な書式を印刷してください。 –