Prolog List实例化

时间:2013-05-18 22:00:49

标签: list prolog

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

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.

1 个答案:

答案 0 :(得分:2)

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

test :- list(L), print(L).