Je me demandais, comment pourrais-je utiliser le trait de soulignement deux fois mais vérifier que les deux instances de ce trait de soulignement unifier?Wildcards Prolog
Ce que je dois essentiellement est quelque chose qui retourne vrai si deux éléments de la même valeur dans un mapping existe ...
i.e. member((_,_),[(a,a),(b,a),(c,a)]).
Si j'utilise une variable que cela les rend unifiées?
i.e. member((A,A),[(a,a),(b,a),(c,a)]).
Mais il retourne la variable plutôt que vrai.
J'ai besoin d'éclaircissement.
est pas un Underscore générique. Il est utilisé pour indiquer que vous ne vous souciez pas de la valeur que cela prend du tout. Du point de vue de la contrainte-satisfaction, vous ne placez aucune contrainte sur cette variable. Cela signifie que deux caractères de soulignement différents peuvent prendre différentes valeurs. Vous pouvez facilement vérifier ceci: '? - member ((,), [(b, c)]). >> true.' – nedned