0

我想创建一个预定义列表。但是我做错了什么,因为当我将它作为参数传递时它不起作用。这是我的代码:

list([5, 1, 2, 8, 10, 4, 3, 6, 9, 7]).

print( [ ] ).
print( [ X | Y ] ):- write(X), write(' '), print( Y ).

test:- print(list).

控制台输出:

1 ?- a.
true .

它不起作用。但这是我自己通过列表的时候:

2 ?- print([5, 1, 2, 8, 10, 4, 3, 6, 9, 7]).
5 1 2 8 10 4 3 6 9 7 
true.
4

1 回答 1

2

您应该使用变量在谓词之间传递信息。您的list谓词不会“返回”值,它会实例化一个变量。

test :- list(L), print(L).
于 2013-05-18T22:19:39.510 回答