Y a-t-il quelque chose en Prolog qui fonctionne comme une boucle for et une condition if then ?
Réponses
Trop de publicités?If/then/else peut être obtenu avec (->)/2 et ( ;)/2 :
( If ->
Then
; Else
)
C'est parfois utile. Mais en général (lorsque la condition contient des variables), cela rendra vos programmes bancals et incomplets. Chaque fois qu'il est possible de décrire les conditions à l'aide du filtrage de motifs, vous devriez plutôt utiliser le filtrage de motifs. Vous pourrez alors non seulement vérifier mais aussi générer des solutions.
Si vous cherchez ce genre de déclarations, vous ne pensez pas en Prologue :)
Je plaisante, d'ailleurs il n'y a pas de traduction simple ou de for et de if/else, mais vous pouvez réfléchir à la façon dont ils devraient être dans le prologue :
- un si/seulement peut être obtenue en ayant simplement deux règles qui correspondent à des conditions différentes.
- a pour la boucle peut être fait avec deux règles récursives, l'une est le cas de base et elle ne dépend pas d'elle-même pour se maintenir tandis que l'autre fait ce que vous avez l'intention de faire à l'intérieur de la boucle et se suit elle-même .