Я изучаю язык Пролог.Я реализую программу для перевода денег между двумя пользователями.У меня есть такой обмен денег:
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. Можно сохранить эту «транзакцию» всписок или другое хранилище данных?Как я могу это сделать?
Спасибо!