Prolog 错误:未知过程:dups2/2(DWIM无法更正目标)

Prolog 错误:未知过程:dups2/2(DWIM无法更正目标),prolog,Prolog,我试图用以下代码复制列表中的元素: dups2([],[]). dups2([H|T],[H,H|Y]) :- dups2(T,Y). 我正在使用查询 dups2([1,2,3], X). 期望: X=[1,1,2,2,3,3] 但我得到了一个错误: ERROR: Unknown procedure: dups2/2 (DWIM could not correct goal) 我怎样才能解决这个问题?应该可以。你把代码装进解释器了吗['/file/path'].应加载代码。如

我试图用以下代码复制列表中的元素:

dups2([],[]).
dups2([H|T],[H,H|Y]) :-
    dups2(T,Y). 
我正在使用查询

dups2([1,2,3], X). 
期望:

X=[1,1,2,2,3,3]
但我得到了一个错误:

ERROR: Unknown procedure: dups2/2 (DWIM could not correct goal)

我怎样才能解决这个问题?

应该可以。你把代码装进解释器了吗<代码>['/file/path'].应加载代码。如果您使用的是任何支持prolog的IDE,您可以通过其他方式加载它。我使用visual studio,因此我在文件目录中打开了visual,并用“swipl”调用了该文件。我不熟悉visual studio,但请尝试在repl中的
列表(dups2)。
。如果加载了文件,它应该打印出dups2代码。如果文件未加载,则应抱怨dups2不存在。您还可以尝试通过在repl中执行
['path/to/file'].
手动加载文件。为什么要使用Visual Studio进行此操作?是的,斯威什成功了,谢谢!