Je fais des problèmes aléatoires pour la pratique et je continue à courir dans le même petit problème avec les listes. Pour une raison quelconque, je continue d'obtenir un symbole de pipe à la fin de la liste quand j'insère/ajoute/modifie la liste. Exemple d'un code tel que le fait que pour moi:Prolog Création d'une liste me donner un hasard | dans la liste.
insertBetween([], E, []).
insertBetween([X], E, X).
insertBetween([X|Xs], E, [X, E | Zs]):- insertBetween(Xs, E, Zs).
J'essaie la commande suivante:
insertBetween([1,2,3], 0, Res).
qui reviennent comme: Res = [1, 0, 2, 0 | 3].
Pourquoi est-ce que j'obtiens cette réponse quand on s'attend à obtenir Res = [1,0,2,0,3]? Est-ce que je fais mal les cas de base? Depuis quelques semaines, je suis venu à ne pas aimer ce programme lang ... lol
Hm, Que _ se débarrasser aussi de ces avertissements ennuyeux je continue à obtenir. Donc, quand vous "n'utilisez pas" les variables dans vos clauses, nous devrions utiliser _? – Leruce
Lorsqu'une variable n'est pas utilisée (variable sinlgeton) ce qui signifie que vous ne vous souciez pas de sa valeur et dans ce cas vous utilisez '_' qui est une variable anonyme et qui s'unifie avec n'importe quoi. Plus précisément dans votre cas: insertBetween ([], _, []). signifie que si la première liste est [], alors quelle que soit la variable du milieu, alors le troisième argument devrait être vide list []. – coder
Ah, merci d'avoir clarifié cela. – Leruce