首页 > 解决方案 > Prolog:如何检查当前评估的子句是否被剪切?

问题描述

如标题所示,例如

test(X) :-
  ( was_cut -> X = yep
  ; X = nope
  ).
test(X) :-
  !,
  ( was_cut -> X = yep
  ; X = nope
  ).
test(X) :-
  X = none.

会产生

?- test(X)
X = nope;
X = yep.

肯定询问 SWI 和/或 SIRSTUS 实施,但也欢迎其他实施

标签: prologprolog-cut

解决方案


推荐阅读