Prolog 中的运算符2024 年 8 月 29 日 | 阅读 3 分钟 符号包含括号中的多个参数,例如 likes(hary, jack)。 任何具有两个参数的用户定义谓词都可以转换为一个中缀运算符作为替代方案。在这种情况下,我们可以在两个参数之间编写 functor,它们没有括号,例如 任何具有一个参数的用户定义谓词都可以转换为一个前缀运算符。在这种情况下,我们可以在参数之前编写 functor,它们没有括号,例如 代替 或者,我们可以将一元运算符转换为后缀运算符。在这种情况下,我们可以在参数之后编写 functor。 规则也可以使用运算符符号来帮助提高可读性。一些 Prolog 用户可能会发现类似这样的规则 如果上面的规则写成如下,则更容易理解 如果需要,运算符可以使用标准符号 'functor 和 argument'。如果 likes/2, is_female/1, owns/2, 和 isa_dog/1 都是运算符并且是前一个规则的有效形式,则也允许“混合”符号。 在系统提示符下,如果用户使用 op 谓词输入目标,则任何具有一个或两个参数的用户定义谓词都可以转换为运算符。 op 谓词有三个参数。 例如 '运算符优先级'由 第一个参数 显示。它是一个从 0 开始的整数。在实现中,数字的范围取决于情况。如果数字较低,则优先级会较高。当运算符在一个术语中使用多次时,运算符优先级的数值将用于确定运算符的顺序。在大多数情况下,我们将使用一个任意值,例如 145。 第二个参数 由三个原子之一表示 xfy 表示这是一个二元谓词,并且将被转换成一个中缀运算符。 fy 表示这是一个一元谓词,并且将被转换成一个前缀运算符。 xf 表示这是一个一元运算符,并且将被转换成一个后缀运算符。 谓词的名称由 第三个参数 显示。该谓词将被转换为一个运算符。 我们还可以通过放置类似这样的行来将一个谓词转换为一个运算符 在 Prolog 程序中,consult 或 reconsult 用于加载文件。请注意,它必须包含提示符 (两个字符 ?-)。当目标以这种方式使用时,整行被称为一个指令。在这种情况下,在使用 likes 运算符的第一个子句之前,指令必须放置在文件中。 各种内置谓词已被预定义为运算符。为了比较数值,这些运算符包括关系运算符,如 < 表示“大于”和 > 表示“小于”。 在规则的主体中,可以包括以下术语。 内置谓词也使用了括号符号,该符号被定义为一个运算符。 例如 下一主题Prolog 中的算术 |
我们请求您订阅我们的新闻通讯以获取最新更新。