Quel est le code source de setof dans prolog?setof dans prolog
3
A
Répondre
7
?- listing(setof).
:- meta_predicate setof(?,0,-).
setof(A, B, F) :-
free_variable_set(A, B, D, C),
( C==v
-> findall(A, D, E),
E\==[],
sort(E, F)
; findall(C-A, D, E),
( ground(E)
-> sort(E, G),
pick(G, C, F)
; bind_bagof_keys(E, _),
sort(E, G),
pick(G, C, H),
sort(H, F)
)
).
true.
0
Si vous cherchez la Sicstus mise en œuvre des prédicats intégré, il se trouve ici: http://www.sics.se/sicstus/docs/4.2.1/html/sicstus/mpg_002dref_002dsetof.html comme:
setof(+Template, +Generator, -Set)
Contrairement findall/3 et bagof/3, setof ne retourne pas duplique et donne l'ordre trié.
I.
Questions connexes
- 1. Strawberry Prolog setof
- 2. setof-like avec des doublons dans prolog?
- 3. Retourne setof varchar
- 4. Postgres 9.1 Type d'enregistrement SETOF
- 5. Comment éviter les répétitions dans prolog
- 6. Performance d'une fonction de retour SETOF qui renvoie les résultats d'une autre fonction SETOF?
- 7. Définition de type Prolog dans swi-prolog
- 8. Prolog - DCG - phrase aléatoire
- 9. fonction d'alimentation dans prolog
- 10. Analyse syntaxique dans prolog
- 11. trouver dans Prolog
- 12. Algorithmes heuristiques dans prolog
- 13. Expressions régulières dans Prolog
- 14. multiplication matricielle dans prolog
- 15. Opérateur étrange (!) Dans Prolog
- 16. Erreur dans Prolog
- 17. Arbres binaires dans Prolog
- 18. Matrice d'adjacence dans prolog
- 19. Affectation booléenne dans Prolog
- 20. Unification dans Prolog
- 21. Tuples correspondants dans Prolog
- 22. requête dans Prolog
- 23. sortie d'entrée dans prolog
- 24. repasser réponses dans prolog
- 25. prédicat d'écriture dans Prolog
- 26. Chatbot dans Prolog
- 27. Débutant dans PROLOG
- 28. Poker Main dans Prolog
- 29. agrégat/3 en swi-prolog
- 30. Comment appeler la fonction Postgres renvoyant l'enregistrement SETOF?
Êtes-vous à la recherche d'une implémentation particulière? J'ai utilisé SWI-Prolog pour ma réponse, mais je peux vous en donner une autre si vous le souhaitez. –