2
두 개의 인수, 정렬 된 목록을 사용하는 삽입 함수를 작성하고 올바른 위치에 포함 된 숫자로 동일한 목록을 생성해야합니다. 는 여기에 지금까지 가지고있는 작업은 다음과 같습니다프롤로그에 삽입 함수
ERROR: '.'/2: Arguments are not sufficiently instantiated ("x" must hold one character)
Exception: (6) insert1(2, [1, 4, 5]) ? creep
나는 당신의 도움의 사람들을 이해할 것 :
insert1(X,[]) :-
[X].
insert1(X, [H|T]) :-
X > H,
insert1(X,T).
insert1(X,[H|_T]) :-
X < H,
T is [X|T].
나는 다음과 같은 오류를 얻고있다.
CapelliC이, 내가이 작업을 할 두 번째 절을 조정하고 이런 식으로 insert1 호출해야합니다 및 문제가 생기면 다시 연락 드리겠습니다. 도와 주셔서 감사합니다. – Stranger
나는 아직도 이것에 문제가있다 : 여기에 내가 가지고있는 것이있다 : insert1 (X, [], [X]). insert1 (X, [H | T], [H | T]) : - X> H, insert1 (X, T, _T1). insert1 (X, [H | _T], [X, H | T]) : - X
Stranger
두 번째 규칙은 H를 복사해야하지만 T가 변경된 다음 다른 Var을 도입하고 재귀 호출로 전달합니다. – CapelliC