Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pp:lplcut [2019/05/06 14:09] dmihai [Colectarea rezultatelor] |
pp:lplcut [2019/05/06 14:30] (current) dmihai [Colectarea rezultatelor] |
||
---|---|---|---|
Line 251: | Line 251: | ||
?- | ?- | ||
</code> | </code> | ||
- | |||
- | <note> | ||
- | În ultima interogare, nu contează dacă predicatul folosit în exterior este ''bagof/3'' sau ''findall/3''. Goal-ul de demonstrat (''bagof(C, parent(P, C), L)'') nu conține variabile "din afară". | ||
- | </note> | ||
Ca urmare a felului de funcționare, o diferență notabilă între ''findall/3'' și ''bagof/3'' este că, atunci când goal-ul nu poate fi satisfăcut, ''findall/3'' reușește, generând o listă vidă, iar ''bagof/3'' eșuează. | Ca urmare a felului de funcționare, o diferență notabilă între ''findall/3'' și ''bagof/3'' este că, atunci când goal-ul nu poate fi satisfăcut, ''findall/3'' reușește, generând o listă vidă, iar ''bagof/3'' eșuează. | ||
Line 324: | Line 320: | ||
<note> | <note> | ||
- | În mod default, swi-prolog trunchiază listele rezultat, afișând doar primele elemente și ''...'' pentru restul. Pentru a schimba acest comportament folosiți interogarea: | + | În mod default, swi-prolog trunchiază listele rezultat, afișând doar primele elemente și ''...'' pentru restul. Pentru a schimba acest comportament folosiți interogarea ''set_prolog_flag(answer_write_options,[max_depth(0)]).'': |
<code> | <code> |