Работа предиката с составным типом - Prolog

Узнай цену своей работы

Формулировка задачи:

Читаю записи БД вида eee/rrrr/0/vvvvv (длина и состав могут быть произвольными):
В идеале, хочу разделить на слова и затем сравнивать со своими значениями (что-то вроде: мой_предикат(запись, Ф1,Ф2,Ф3,Ф4)). Есть предикаты которые разбивают на слова, но работают они со строкой. У меня же, какой предикат я не подставляю плюётся на "found `uart_bus/0/proc_txd/e15' (a compound)" Возможно, с данным типом нужно работать как то по другому?

Решение задачи: «Работа предиката с составным типом»

textual
Листинг программы
?- A/B/C/D = ddr3_bus/0/data(0)/47.
A = ddr3_bus,
B = 0,
C = data(0),
D = 47.

Объяснение кода листинга программы

  1. Задача кода - работа с предикатом, который имеет составной тип.
  2. Предикат A/B/C/D имеет четыре аргумента.
  3. Значение аргумента A равно ddr3_bus.
  4. Значение аргумента B равно 0.
  5. Значение аргумента C равно data(0).
  6. Значение аргумента D равно 47.
  7. Переменная A содержит значение ddr3_bus.
  8. Переменная B содержит значение 0.
  9. Переменная C содержит значение data(0).
  10. Переменная D содержит значение 47.
  11. Значение переменной A не равно значению переменной B.
  12. Значение переменной A не равно значению переменной C.
  13. Значение переменной A не равно значению переменной D.
  14. Значение переменной B не равно значению переменной C.
  15. Значение переменной B не равно значению переменной D.
  16. Значение переменной C не равно значению переменной D.
  17. Переменная A не равна переменной B.
  18. Переменная A не равна переменной C.
  19. Переменная A не равна переменной D.
  20. Переменная B не равна переменной C.
  21. Переменная B не равна переменной D.
  22. Переменная C не равна переменной D.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы