J'ai ce code Prolog:Prolog: liste imbriquée
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).
qui obtient les numéros sur une liste. Par exemple:
pick_number_simple([d,f,7,5,e,3,g], NumList)
vous donne:
[7,5,3]
Mais je veux faire obtenir les numéros hors d'une liste imbriquée.
Par exemple:
pick_numbers_general([a,b,1,[2,[c,3]],d],1,NumList)
Souhaitez-vous donner:
[2,3]
comment puis-je faire cela?
Attendez. Que signifie "faire en sorte que les numéros d'une liste imbriquée"? Et que devrait faire le second argument de pick_numbers_general/3? –
comme pour extraire les numéros d'une liste imbriquée, par exemple si j'ai cette option pick_numbers_genera ([a, b, 1, [2, [c, 3]], d], 1, NumListe). et je veux obtenir Numlist = [2,3]. – guest
De la liste imbriquée * seulement *? Qu'est-ce que "1" est dans cet exemple? –