2ビットのデータを何時間も比較しようとして、私は困惑しました。
これは基本的に私が書いたものです..
find_client(Search, [Client|Client_list])->
{Name,Socket} = Client,
io:fwrite("Name>~s<~n",[Name]),
io:fwrite("Search>~s<~n",[Search]),
case string:equal(Name,Search) of
true->
do_something;
false->
do_something_else
end;
find_client(Search,[])->
not_found.
問題は、do_something_else が等しいと確信している場合でも、常に返されることです! io:fwrite は、私のテストでコンソールにまったく同じものを出力します。
Name>name1<
Search>name1<
string:equal を試す前に、独自のパターン マッチを実行しようとしていましたが、どのような組み合わせでも動作するようには見えませんでした。
何か不足していますか?新鮮な目や別の方法の提案をいただければ幸いです。