Добавление любого количества аргументов в функцию в прологе - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу реализовать цикл while, например: while(true) {(assign(n,1));(assign(r,2));} в прологе. Пример можно рассматривать как то, что происходит в ОО-языке, таком как java, в то время как true он назначит n как 1, а r как 2. Как я могу реализовать такие предикаты в прологе, где более чем один предикат должен выполняться, когда while истинно. Я хочу, чтобы мой предикат был чем-то вроде

while(true,[(assign(n,1)),(assign(r,2))].

1 Ответ

0 голосов
/ 10 ноября 2018

хм интересный вопрос. Почему бы тебе просто не записать это, как ты хочешь записать?

while(X, Y) :-
    X, Y.

Я пытаюсь записать это, и когда я это написал, я написал это, и это сработало?

?- while(true, (format("hello, ", []), format("sailor", []))).
hello, sailor
true.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...