在 Erlang 中检查列表中的项目
check for item in list in Erlang
我正在尝试在 Erlang 中创建检查功能
我有一个单词和单词列表
list_word() ->
["bad1", "bad2", "bad3"].
我正在尝试检查列表 return 中的这个词是否正确,除了 return 错误
示例:
check_list() ->
badword = list_word(),
if "bad1" == badword ->
%% do some thing
在这种情况下,列表中的第一个词而不是第二个词,我不希望它 return true
check_list() ->
badword = list_word(),
if "bad1 test" == badword ->
%% do some thing
我该怎么做?
看看 lists:member/2
— 它是作为 BIF
实现的,所以速度非常快。
case lists:member("bad1", list_word()) of
true ->
%% do something
;
false ->
ok
end.
编辑:
对于第二个示例,您可以执行以下操作:
Words = list_word(),
Found = fun(Word) -> lists:member(Word, Words) end,
BadWords = string:tokens("bad1 test", " "),
case lists:any(Found, BadWords) of
true ->
%% do something
;
false ->
ok
end.
我正在尝试在 Erlang 中创建检查功能 我有一个单词和单词列表
list_word() ->
["bad1", "bad2", "bad3"].
我正在尝试检查列表 return 中的这个词是否正确,除了 return 错误
示例:
check_list() ->
badword = list_word(),
if "bad1" == badword ->
%% do some thing
在这种情况下,列表中的第一个词而不是第二个词,我不希望它 return true
check_list() ->
badword = list_word(),
if "bad1 test" == badword ->
%% do some thing
我该怎么做?
看看 lists:member/2
— 它是作为 BIF
实现的,所以速度非常快。
case lists:member("bad1", list_word()) of
true ->
%% do something
;
false ->
ok
end.
编辑: 对于第二个示例,您可以执行以下操作:
Words = list_word(),
Found = fun(Word) -> lists:member(Word, Words) end,
BadWords = string:tokens("bad1 test", " "),
case lists:any(Found, BadWords) of
true ->
%% do something
;
false ->
ok
end.