警告:使用运算符'<'无效?

osk*_*132 1 erlang erlang-otp

我是erlang的新手,我正在尝试实现一个简单的函数,如下所示:

% * ChatServers is a dictionary of usernames with tuples of the form:
%   {server, Pid, Reference,LoggedInUsers}
get_chat_server([], _) ->        
    undefined;

get_chat_server([Key|_], ChatServers) ->
    {server, Pid, Reference,LoggedInUsers} = dict:fetch(Key,ChatServers),
    LoggedInUsers < 100,
    {server, Pid, Reference,LoggedInUsers};

get_chat_server([_|T], ChatServers) ->        
    get_chat_server(T, ChatServers).
Run Code Online (Sandbox Code Playgroud)

基本上我要做的是找到我的字典的第一个元组,其LoggedInUsers数小于100.

但是,一旦我编译我的代码,我会得到以下2个警告:

main_server_distributed.erl:63:警告:使用运算符'<'无效main_server_distributed.erl:66:警告:此子句无法匹配,因为第61行的前一个子句始终匹配

我有一些prolog的经验,据我所知,这是模式匹配和递归的有效使用.你能指出我在这里做错了什么吗?提前致谢.

Ric*_*rdC 6

子句的主体(右边的所有内容->)不是要满足的条件列表,而只是要用于评估的逗号分隔的表达式列表.除最后一个表达式之外的所有结果值都将被丢弃.因此,您的<比较的布尔值不会在任何地方使用.