다음의 간단한 프로그램이 작동하지 않는 이유는 무엇입니까?프롤로그의 간단한 정사각형 프로그램
main :-
squares([1,2,3,4,5], L),
writeln(L).
squares([H|T], Outl) :-
Sq is H*H,
squares(T, [Sq|Outl]).
squares([], []).
출력은 다음과 같습니다
(squares([H|T], Outl)
에서)
[Outl]
와
Outl
교체
?- main.
false.
도움이되지 않습니다.
대신 =
및 #=
을 사용하거나 is
을 사용하는 것도 도움이되지 않았습니다.
squares([], [])
대신 squares([], P)
이 아니 었습니다.
squares([H|T],[Sq|Outl]):-
Sq is H*H,
squares(T,Outl).
작성해야 당신이
squares([H|T],Outl):-
Sq is H*H,
squares(T,[Sq|Outl]).
평방가 잘못이다 쓴 무슨
그것을인가 당신의 시스템에서 일하고 있습니까? 나에게주는 것은 :? squares ([1,2,3,4,5], L). L = [1 | _G1159]. – rnso
예, 작동합니다. Out1을 Outl (문자 1이 아닌 문자 l)으로 변경해야합니다. 감사. – rnso
감사합니다. 내 대답을 편집합니다. – joel76