Bonjour, je suis entrain de me remettre au Prolog, et en faisant un exercice sur les listes, j'ai fais une erreur mais je n'arrive pas à comprendre pourquoi ce que je fais est faux.
Donc je cherche à définir un prédicat qui donne la longueur d'une liste :
Je ne comprend pas pourquoi il ne faut absolument pas mettre de crochets à L qui est une sous-listes (et donc une liste).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 longueur([],0). longueur([_|L],X):-longueur([L],X1), X is X1+1. % l'erreur provient des [ ] autour du L, car lorsque j'écris longueur([_|L],X):-longueur(L,X1), X is X1+1. % ça marche
Je précise que j'utilise SWI-prolog.
Merci de votre aide.
Partager