我想创建一个预定列表。但是我做错了,因为当我把它作为一个参数传递时它不起作用。 这是我的代码:
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.
答案 0 :(得分:2)
您应该使用变量在谓词之间传递信息。您的list
谓词不会“返回”值,它会实例化变量。
test :- list(L), print(L).