运算符应用于数组参数的每个元素(约简操作),并产生一个元素结果。一元运算符与杂项运算符(**、ABS和NOT)具有相同的优先级。注2-涉及一元条件运算符或一元逻辑运算符与任何其他运算符组合的表达式的语法要求一元运算符及其操作数是带括号的表达式。Should be illegal according to Note 2 [9.1]
现在,如果我们继续阅读LRM,9.2.2中的另一个注释提供了一些线索来解释为什么这样做是
很好,它可以工作,但我不太清楚它是如何工作的,我对操作符优先级有一些疑问。
有操作符有200作为优先级值。of操作符有100作为优先级值。提到短语:peter有john的car john,意思是Prolog首先对句子的这一部分进行评估:car of john (因为运算符的优先级较低,所以有运算符),如果是真的,则评估:pater有(前一次评估的结果另一个问题与操作者的类型有关。在我的解决方案中,我对两个操作符都使用了xfx类型,因为在这类句子中,我与