在 prolog 中,',' 运算符的类型为 xfy,因此是右结合的,而一系列由逗号分隔的术语将从左到右处理。那为什么算符右结合呢?
最佳答案
我认为这只是术语上的细微差别。如果我们查询 SWI-Prolog 的相关细节
?- current_op(P,A,(,)).
P = 1000,
A = xfy.
?- write_canonical((a,b,c)).
','(a,','(b,c))
我们确认“右结合”只是正确表达结构的(有争议的?)语言描述,它允许我们通过简单的左递归访问该术语。
逻辑阅读显然是合适的:a,b,c
为真,我们需要 a
为真和 b,c
为真。
关于prolog - 为什么Prolog ','运算符是右结合的,而它是从左到右处理的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69274015/