【问题标题】:Why does Prolog use =< Rather than <= like most languages?为什么 Prolog 使用 =< 而不是像大多数语言那样使用 <=?
【发布时间】:2016-02-17 17:17:30
【问题描述】:

在我的编程语言课中,我们正在运行以下程序:

range(X,Y,Z) :- X>=Y,X<=Z

这不会编译,在谷歌搜索之后,我们发现 prolog 使用 =

有人对prolog为什么这样做有任何见解吗?有什么原因吗?

提前致谢。

【问题讨论】:

    标签: syntax prolog operators conventions


    【解决方案1】:

    是的,有一个很好的理由:&lt;=看起来像一个箭头,而且由于Prolog也经常用于逻辑证明,所以这是“保留的”在需要时适应此类用途,从右到左表示暗示。

    顺便说一句,(=&lt;)/2 是相当低级的。更好地使用约束,使您的程序更通用、更易于理解。

    【讨论】:

    • 谢谢!太棒了。如果允许,我会在 4 分钟内接受。
    • 顺便问下好问题!
    • 有一个简单的方法来记住为什么它是=&lt; 而不是=&gt;:想象你沿着符号从左到右移动你的手:=&gt; 你受伤了,而=&lt; 则如此流畅!就像&gt;=。种。
    • 用=&gt;先是这么顺利,然后你受伤了;与&gt;= 一起,它首先会很痛,然后变得如此顺畅,而=&lt; 总是如此顺畅。
    • 我从Ulrich Neumerkel 在他的一次讲座中学到了这一点。我不知道对此有书面参考。事实上,在我看来,关于 Prolog 最有趣的事情还没有写下来。如果有什么安慰的话,我发现 Ulrich 的话无论如何都比书面参考更可靠。
    猜你喜欢
    • 2019-12-03
    • 2016-09-05
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多