저는 프롤로그를 처음 접했고 때로는 특정 일로 머리를 감쌀 수도 없습니다. 나는이 형식 측면으로 목록을 변환하는 방법을 알고프롤로그 - 목록을 용어 목록으로 변환합니다.
listOfTerms(ListOfArgs,Name, ListOfResults)
listOfTerms([[1,2],[100,99],[5,11]],+,T).
T = +([1, 2], [100, 99], [5, 11]).
가 어떻게 그것을 같이해야합니까? 자신의 주장이나 용어에서 인수를 얻을 수있는 조건을 구축
listOfTerms(ListOfArgs, Name, ListOfResults):-
maplist(map(Name), ListOfArgs, ListOfResults).
map(Functor, Arg, Term):-
Term=..[Functor|Arg].
사용 =.. (univ)
술어를, 각이 변환을 적용 할 maplist
를 사용
T = [1+2, 100+99, 5+11].
listOfTerms(Lst,F,[1+2, 100+99, 5+11]).
Lst = [[1, 2], [100, 99], [5, 11]],
F = + .
귀하의 질문이 명확하지 않다. 귀하의 첫 번째 예제는 T가 어디에도 사용되지 않지만 결과에는 나타납니다. – liori
죄송합니다. 나는 그것을 고쳤다. – user1834372