2013-05-18 2 views
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. 

ответ

2

Вы должны использовать переменные для передачи информации между предикатами. Ваш предикат list не «возвращает» значение, он создает экземпляр переменной.

test :- list(L), print(L). 
Смежные вопросы