在我的编程语言课程中,我们运行以下程序:
range(X,Y,Z) :- X>=Y,X<=Z
这不会编译,经过短暂的谷歌搜索,我们发现prolog使用=&lt; opporator而不是&lt; =像我们学到的大多数其他语言一样。
有没有人对prolog为何这样做有任何见解?有原因吗?
提前致谢。
答案 0 :(得分:4)
是,有一个很好的理由:<=
看起来像箭头,而且由于Prolog也常用于逻辑校样,因此这是“保留“在需要时容纳这些用途,表示从右到左的含义。
顺便说一下,(=<)/2
非常低级。更好地使用约束来使您的程序更通用,更易于理解。