Я пишу код, который читает два входных файла и проверяет, присутствуют ли слова из первого файла во втором файле. Я хочу проверять элементы списка один за другим через передачу сообщений процесса.
Вот мой код:
start()->
Pid2 = spawn(?MODULE,check2,[]),
spawn(?MODULE,check1,[Pid2]).
check1(Pid2) ->
{ok, Data} = file:read_file("input.txt"),
B = binary:split(Data, [<<" ">>], [global]),
K = [binary_to_list(Item) || Item <- B],
[Pid2 ! Element || Element <- K].
check2() ->
{ok,IoDevice} = file:open("check.txt", [read]),
L = string:tokens(io:get_line(IoDevice,""), "! ."),
receive
Element ->
case lists:member(Element,L)of
true ->
io:format(Element);
false ->
io:format("not_ok")
end
end.
Проблема в том, что когда я хочу отправить элемент списка, он отправляет только первый элемент. Как я могу изменить свой код, чтобы отправить все строки и проверить их?