Мой код находит факты на основе диапазона значений:
ara_deger_price(L,H,Res) :-
findall( (Id,B,C,D,Price,F,Points),
( table(Id,B,C,D,Price,F,Points),
\+ Price = null, \+ Price = 'Price', Price > L, Price < H
),
Res).
Выдает результат списка примерно так:
?- ara_deger_price(200,250,X).
X = [ (284, 'Viña Cobos 2011 Marchiori Vineyard Block C2 Malbec (Perdriel)', 'Argentina', 'Malbec', 215, 'Michael Schachner', 92), (349, 'Torbreck 2012 RunRig Shiraz-Viognier (Barossa)', 'Australia', 'Shiraz-Viognier', 225, 'Joe Czerwinski', 97)] ;
false.
Что я хочу сделать, так это добавить каждый элемент этого списка в список C #. Я могу получить доступ к элементам, используя nth0 / 3, но я хочу получить доступ к каждому из них.
Я пробовал это:
show_record([]).
show_record([A|B]) :- write(A), write("\n"), show_record(B).
Который печатает каждый элемент в одну строку в консоли. Могу ли я перенаправить результат из консоли в список или есть способ получить доступ к каждому элементу в Прологе?