그래서 재귀를 사용하지 않고 프롤로그를 사용하여 목록에서 단일 요소를 얻으려는 데 문제가 있습니다. 예를 들어 foreach, foreachelem 등과 같은 루프에만 의존합니다 ....프롤로그 용 목록의 요소에 어떻게 액세스합니까?
그래서 목록이 있습니다. Xs = [1,2,3], 각 요소를 개별적으로 얻고 싶습니다. 가장 좋은 나는 ... 지금까지 올이있다 한
sumOfList(Xs, Max) :-
(foreach(List, Xs), count(I, 1, _), param(Xs)
do
(foreach(List2, Xs), count(J, 2, _), param(Xs, I, List)
do
(List =< List2
-> Max is List2;
Max is List1
)
)
).
이 그래서 내가 맥스 자리의 어떤 종류를 만들려면 어떻게해야합니까, 궁금하네요 ... 내가 지금까지있어 최고입니다 최종 계산에 사용할 수 있습니까?
이 일식 CLP인가? –
예! 모든 도움을 주시면 감사하겠습니다 ... – user3390252
루프 구조를 배우고 싶지만 정말로 최대 목록을 원하면 'Max is max (Xs)'라고 써주십시오. – jschimpf