Как преобразовать этотПрологе список атомов
fact([a,b,c], [d,e,f], ..., [p, q, r])
в список этих элементов?
Результат:
[[a,b,c], [d,e,f], ..., [p, q, r]]
Как преобразовать этотПрологе список атомов
fact([a,b,c], [d,e,f], ..., [p, q, r])
в список этих элементов?
Результат:
[[a,b,c], [d,e,f], ..., [p, q, r]]
list_fact_args(Fact,List) :- Fact =.. [fact|List].
=..
представляет собой удобный предикат, который преобразует предикат слева в списке с именем предиката в качестве первого члена и его аргументами в качестве последних членов. Или список справа от предиката слева. Здесь fact
обозначает, что в нем перечислены только предикаты с именем «факт».
Получите руководство Пролог или учебник и посмотреть = ../2.
Я не думаю, что Visual Prolog имеет оператор '= ../2'. – lurker
Извините, но как это использовать?
'fact ([a, b, c], [d, e, f], [p, q, r]).
' list_fact_args (факт, список): - Fact = .. [факт | список ] .'
'list_fact_args (F, L)' '
Нет solutions' – balping
@mbratch Visual Prolog имеет что оператор – balping