CLPFD Prolog 的“语法错误:预期的运算符”

问题描述 投票:0回答:0

我正在阅读 Prolog 的力量,并且已经读到关于 Collatz 序列 的部分。

我从那里复制并粘贴代码,在之前添加适当的

use_module
行...

use_module(library(clpfd)).

hailstone(N, N).
hailstone(N0, N) :-
        N0 #= 2*N1, % Error
        hailstone(N1, N).
hailstone(N0, N) :-
        N0 #= 2*_ + 1, % Error
        N1 #= 3*N0 + 1,
        hailstone(N1, N).

但是,当我尝试编译它时,在上面评论的两行中出现错误“hailstone.pl:nn:10: Syntax error: Operator expected”。

任何人都知道错误是什么,为什么我得到它?如您所见,我包含了 CLPFD 模块,因此它应该将

#=
识别为运算符。

我尝试使用

library(clpfd).
而不是第一行,但没有任何区别。

我正在使用 SWI-Prolog 以防它有什么不同。谢谢。

prolog clpfd collatz
© www.soinside.com 2019 - 2024. All rights reserved.