2010-11-18 3 views

Répondre

25
  • ? signifie: Cette variable peut être instanciée ou non. Les deux moyens sont possibles.
  • + signifie: Cette variable est une entrée au prédicat. En tant que tel, il doit être instancié.
  • - signifie: Cette variable est une sortie au prédicat. Il est généralement non-instancié, mais peut être si vous voulez vérifier une "valeur de retour" spécifique.

Source: Chapitre 4 de la documentation SWI Prolog.

3

+ signifie que Variable2 devrait être lié (à un terme, ou peut-être une variable) - vous pouvez penser à cela comme entrée à predicate/3, que le prédicat ne tentera pas de modifier en cours d'exécution.

- signifie que Variable3 devrait être lié par predicate/3 dans elle est l'exécution - vous pouvez penser à cela comme sortie de predicate/3. Cela ne veut pas dire qu'il ne peut pas être lié, cependant, en particulier si vous savez à quoi s'attendre et vérifiez le succès, mais predicate/3 est décrit comme potentiellement liant (unificatrice) Variable3 à quelque chose.

? signifie que Variable1 peut être soit être lié (+, entrée) ou non (-, sortie) - predicate/3 devrait traiter les deux cas, si elle accepte non plus.

Questions connexes