не может использовать n1 в простой рекурсивной прологической программе. Продолжайте получать неопределенную процедуру: n / 1 - PullRequest
0 голосов
/ 17 марта 2020
writeList([]).
writeList([H|T]) :-
   write(H),
   n1,
   writeList(T).

дает

?- 
% c:/users/mckie/onedrive/desktop/ex7 compiled 0.00 sec, 0 clauses
?- writeList([car, van, lorry]).
car
ERROR: Undefined procedure: n/1
ERROR: In:
ERROR:    [9] n(1)
ERROR:    [8] writeList([car, van, lorry]) at c:/users/mckie/onedrive/desktop/ex7.pl:2
ERROR:    [7] <user>
   Exception: (9) n(1) ? 

правильный вывод должен быть:

car
van
lorry

1 Ответ

1 голос
/ 17 марта 2020

In

writeList([]).
writeList([H|T]) :-
   write(H),
   n1,
   writeList(T).

Это не n1 с номером один (1), оно должно быть nl с буквой N, за которой следует буква L, оба в нижнем случай, который является сокращением для новой строки. См нл / 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...