我有3个名单。前两个列表'添加元素数量并与第三个列表var searchTypes = {
Material,
Vendor,
};
// ...
var Component = searchTypes[searchType.name];
return (
<div className='row'>
<h1>Search Results ({items.length}/{itemsCount})</h1>
<Component items={items} />
</div>
);
进行比较。检查前两个列表的总和,以查看元素的总数是否小于或等于第三个列表中的元素数。这就是我现在拥有的。我在compare(List1,List2,List3)
时收到错误。
Total is Total+1
这是我到目前为止所拥有的。
答案 0 :(得分:0)
您的计划中有一些错误:
第一:
删除Tx变量的实例化为零T1 is 0, T2 is 0, T3 is 0
,您不需要初始化此变量,也不应该在同一规则中的多个条件中实例化相同的变量。结果可能不是预期的。
第二:
使用另一个变量来实例化T1和T2之和T4 is T1 + t2, T4 =< T3
最后,对于空列表
,您的谓词addUp/2
需要基本情况
addUp([],0).
并替换变量Head的最后一个数字1。您应该将列表的第一个元素添加到尾部的总和。
addUp([Head | Tail], Total) :-
addUp(Tail, Total1), Total is Total1 + Head.
最终计划:
lessThanEq(List1, List2, List3) :-
addUp(List1,T1),addUp(List2, T2), addUp(List3, T3),
T4 is T1 + T2, T4 =< T3.
addUp([],0).
addUp([Head | Tail], Total) :-
addUp(Tail, Total1), Total is Total1 + Head.