Пролог хранить результаты функции - PullRequest
0 голосов
/ 09 октября 2018

Я изучаю язык Пролог.Я реализую программу для перевода денег между двумя пользователями.У меня есть такой обмен денег:

user(alice). 
user(bob).
money(alice,10).
money(bob,20).
exchange(UserSend, UserRec, Money) :-
   check(UserSend,Money),
   retract(wallet(UserSend, MoneySend)),
   TotalSend is MoneySend - Money,
   assertz(wallet(UserSend, TotalSend)),
   retract(wallet(UserRec, MoneyRec)),
   TotalRec is MoneyRec + Money,
   assertz(wallet(UserRec, TotalRec)).

В этом случае, если я позвоню (alice,bob,10), в результате Алиса получит 0 денег вместо Боба 30. Можно сохранить эту «транзакцию» всписок или другое хранилище данных?Как я могу это сделать?

Спасибо!

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