我是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的经验,据我所知,这是模式匹配和递归的有效使用.你能指出我在这里做错了什么吗?提前致谢.
子句的主体(右边的所有内容->
)不是要满足的条件列表,而只是要用于评估的逗号分隔的表达式列表.除最后一个表达式之外的所有结果值都将被丢弃.因此,您的<
比较的布尔值不会在任何地方使用.
归档时间: |
|
查看次数: |
575 次 |
最近记录: |