Есть ли что-нибудь в Prolog, которое работает как цикл for, и если это условие?Пролог петли и условные утверждения?
ответ
Если вы ищете такие виды заявлений, то вы не мыслящие в Прологе :)
Шутит, кстати есть не простой перевод или для и если/иначе, но вы можете думать о как они должны быть в прологе:
- если/другое заявление может быть получено только имея два правила, которые соответствуют по различным условиям
- цикл можно сделать с помощью двух рекурсивных правил, один из них является базовым, и он не зависит от самого себя, а другой делает то, что вы намерены делать внутри цикла, и следует за собой.
-1: в Prolog есть конструкция if-then-else, и это весьма полезно в сложных правилах. –
Да, есть, но вы должны избегать его использования, и мы не говорим о сложных правилах. Если вы научите кого-то плохую привычку перед хорошим, вы никогда не будете выздоравливать :) – Jack
ИМХО, этого не следует избегать, его следует учить. Если мы не научим этого, люди начнут писать программы с красными сокращениями в них. –
если/then/else можно получить с помощью (->)/2 и (;)/2:
( If ->
Then
; Else
)
Иногда это полезно. В общем, хотя (когда условие содержит переменные), это сделает ваши программы необоснованными и неполными. Всякий раз, когда можно описать условия с сопоставлением с образцом, вместо этого следует использовать сопоставление шаблонов. Затем вы можете не только проверять, но и генерировать решения.
- 1. Условные утверждения в Prolog
- 2. Условные утверждения и RSpec
- 3. JMeter - Условные обозначения и утверждения
- 4. Условные утверждения в MySQL
- 5. Метеорные петли и условные данные
- 6. Условные утверждения Selenium IDE
- 7. Условные утверждения - MATLAB
- 8. Условные утверждения в Perl
- 9. условные утверждения в XPath
- 10. Условные утверждения II
- 11. Блестящие условные утверждения
- 12. Условные утверждения внутри `printf`
- 13. Пролог бесконечной петли
- 14. Условные утверждения в шаблонах Eclipse
- 15. Условные утверждения с пользовательским вводом
- 16. включая условные утверждения в ожидании
- 17. Насколько дороги условные утверждения debug?
- 18. Условные утверждения с списками Python
- 19. Условные утверждения метки поиска Blogger
- 20. Условные утверждения в цикле WordPress
- 21. Если условные утверждения в Underscore.js
- 22. петли и условные условия внутри триггеров
- 23. Codeception Условные утверждения с помощью пользовательских функций
- 24. Условные утверждения - это объекты в Ruby?
- 25. RegEx как условные утверждения (с тегами)
- 26. Оценка Python If-Else Условные утверждения
- 27. IE Условные утверждения в HTML удаляются?
- 28. DataList, Условные утверждения в <ItemTemplate>?
- 29. условные утверждения внутри «значения» для CDataColumn
- 30. «Ruby-esque» if else условные утверждения
Если вы думаете о циклах с прологом, вы, вероятно, думаете неправильно. Если у вас есть конкретная проблема, спросите об этом. – JoshD
Согласен. Использование циклов и условностей в Prolog почти всегда увеличивает сложность и снижает полезность Prolog. Вам нужно подумать о рекурсии и объединении. В противном случае вы также можете использовать C# или Java. Или это вопрос «академической» природы? – Enigmativity
ya это связано со школой ... так. –