我试图在Erlang中创建检查功能 我有一个单词和单词列表
list_word() ->
["bad1", "bad2", "bad3"].
我试图检查列表中的这个单词是否返回true,除了return false
示例:
check_list() ->
badword = list_word(),
if "bad1" == badword ->
%% do some thing
在这种情况下,列表中的第一个单词,但第二个单词不是,我不想返回真实
check_list() ->
badword = list_word(),
if "bad1 test" == badword ->
%% do some thing
我该怎么办?
答案 0 :(得分:3)
查看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.