나는이 Prolog 코드를 가지고있다.프롤로그 : 중첩 목록
pick_number_simple([],[]).
pick_number_simple([H|T],[H|T2]):-
number(H), pick_number_simple(T,T2).
pick_number_simple([H|T],T2):-
not(number(H)), pick_number_simple(T,T2).
이는 목록에서 숫자를 얻는다. 예를 들면 다음과 같습니다.
pick_number_simple([d,f,7,5,e,3,g], NumList)
는 다음을 제공합니다.
[7,5,3]
그러나 중첩 목록에서 숫자를 가져 오려고합니다.
예 :
pick_numbers_general([a,b,1,[2,[c,3]],d],1,NumList)
줄 것입니다 :
[2,3]
어떻게해야합니까?
대기를 사용할 수 있습니다. "중첩 목록에서 숫자를 가져 오게"하는 것은 무엇을 의미합니까? 그리고 pick_numbers_general/3의 두 번째 인수는 무엇을해야합니까? –
에서와 같이 중첩 된 목록에서 숫자를 가져 오는 것과 같이 pick_numbers_genera ([a, b, 1, [2, [c, 3]], d, 1, NumList)가있는 경우를 예로들 수 있습니다. 그리고 나는 Numlist = [2,3]을 원합니다. – guest
중첩 목록에서 * only *? 이 예제에서 "1"은 무엇입니까? –