Jess 中的 If 子句

If clause in Jess

有人能帮我在 jess 中使用 if 子句吗,我知道简单的语法,但我正在尝试使用 && 操作数,这样我就可以使用两个条件,但我尝试的任何方法似乎都不起作用。

if((<(?x ?y) && (>=(?z ?s)) then
  ....
else
....

Jess 有一个非常规则的语法,这与您试图模仿的 Java 语法完全不同。所有 "operators" 实际上都是函数,并且使用与函数调用相同的前缀语法。总是 (op arg1 arg2 ...)。圆括号 总是 包围整个表达式,而不仅仅是参数。

例如,Java 表达式 a < b 在 Jess 中总是 (< ?a ?b)。没有 && 运算符,而是有一个 and 函数。所以 Java if (a < b && c > d) ... 在 Jess 中看起来像 (if (and (< ?a ?b) (> ?c ?s)) then ...