0

我是序言的新手。我在 swi-prolog 上通常有一个 .pl 文件咨询,但是当我在 tu-prolog 上咨询它时,总是会发生疯狂的事情。这是我的部分代码。

    :- dynamic(assignopT/6).
    :- multifile(assignopT/6).
    assignopT(30246,30244,30210,30247,+,30248).

当我在 tu-prolog 上查阅它时,它在第 12219 行/之前说语法错误,这是上面的第三行。它在 swi-prolog 上运行良好。然后我想可能+有问题,所以我把它改成了这个。

    assignopT(30246,30244,30210,30247,'+',30248).

这一次,它在 -1 行/之前表示语法错误。我真的不明白,-1 行是什么意思。名为 swi2tu.pl 的 .pl 位于https://drive.google.com/folderview?id=0B4KCEwRVmr_yWjQwOEp3LWpYdk0&usp=sharing

4

1 回答 1

1

请尝试:

assignopT(30246,30244,30210,30247,(+),30248).

在单引号之间写一个原子,例如+,不会改变任何东西,错误可能是由于它的操作符状态。假设是这种情况,在 () 之间编写它应该可以解决在 tuProlog 中加载代码时可能出现的运算符冲突(我假设不是 Turbo Prolog!)。

于 2013-07-26T19:40:40.157 回答