0
나는 Prolog에 매우 익숙하며 '추가'를 사용하여 실험하고있다. 목록의 첫 번째 항목을 취하고 빈 목록 L에 추가하는 매우 간단한 프로그램을 작성하려고합니다.Prolog에서 추가 사용하기
누군가가 왜 이것이 작동하지 않는지 설명해 주시겠습니까?!
add_first([A|_],L) :- append(A,_,L).
또 다른 빠른 질문입니다.
왜이 코드가 작동합니까?
add_first([A|B],L) :- append(B,A,L).
하지만이 코드는 아닙니까?
add_first([A|B],L) :- append(A,B,L).
고마워요.
추가 예제가 생각대로 작동하더라도 'add_first'에서 제공하는 구두 정의를 반영한 것 같습니다. 'add_first'가 어떻게 성공적으로 작동하기를 원하는지에 대한 실제 예제를 주시겠습니까? 설명은'add_first ([1,2,3], L)'과 같은 것이'L = [1]'을 만들어내는 것을 의미합니다. 그러나 당신의'append' 예제는 모두'[1,2,3]'의 꼬리를 포함하고 있습니다. – lurker