繁体   English   中英

Prolog语法错误:应为运算符

[英]Prolog Syntax Error : Operator expected

我有错误/解决方案:5:10 : Syntax Error : Operator expected

nonoverlap(R,Task1,Task2) :-
   Task1 = task(_,T1,L1,Rs2),
   Task2 = task(_,T2,L2,Rs2),
   ((member(R,Rs1), member(R,Rs2)) ->
      T2 #> T1+L1     % start Task2 after Task1 has finished
       #\/             % OR
      T1 #> T2+L2     % start Task1 after Task2 has finished
   ;
      true            % non-conflicting, do nothing
   ).

您需要在文件/模块的开头说

:- use_module(library(clpfd)).

除此之外,您最有可能想说T2 #>= T1 + L1

同样,可以说abs(T2-T1) #>= min(L1,L2) ,而不考虑顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM