Putting all results of a query in a list in Prolog -
i'd know how make predicate puts results obtained query (so result , press semicolon until false) in list.
for example if write foo(x,[1,2,3]). in prolog listener, let's result is
x=[11]; x=[22]; false. i results in list, following happen.
?-another_foo(x,[1,2,3]). x=[[11],[22]]. another_foo somehow use foo create list results foo. don't know how.
use built-in predicate findall/3:
?-findall(x0, foo(x0, [1,2,3]), x). x = [[11], [22]]. you can define another_foo/2:
another_foo(x, input) :- findall(x0, foo(x0, input), x).
Comments
Post a Comment