Est-il un moyen de déterminer le type d'un élément dans une liste dans le Prologue? Je sais que les variables ne sont pas explicitement tapé dans le Prologue, mais j'ai besoin de vérifier si un élément est un nombre, un caractère spécifique, etc. Comment cela peut-il être réalisé?
source d'informationauteur XBigTK13X | 2010-10-05
Prolog définit un groupe de intégré dans les prédicats de type des fins de test:
var/1
atom/1
integer/1
float/1
atomic/1
compound/1
nonvar/1
number/1
tous d'entre eux avec un auto-explicatif sens si vous connaissez les types de données de la langue. Pour des caractères spécifiques, vous pouvez exploiter l'unification avec ce personnage, après avoir vérifié que l'élément n'est pas une variable indépendante (sinon, l'unification est toujours réussie).Vous pouvez essayer ce code:
Espère que cela aide.
Pour vérifier si une variable est liée à une liste, vous pouvez utiliser
is_list/1
.à la liste de vérification que vous pourriez essayer:
nombre/1
Voir aussi http://www.swi-prolog.org/pldoc/doc_for?object=section%282,%27F.1%27,swi%28%27/doc/Manual/predsummary.html%27%29%29