Bonjour,
Je voudrais définir une liste de 3 éléments variables.
Liste=[Var1, Var2,Var3];
Comment le définir sous Prolog.
Dans les exemple que je vois c'est soit:
une liste vide []
une liste non variable: [1,2,3]
En espérant être claire :-/
Bonjour,
Je voudrais définir une liste de 3 éléments variables.
Liste=[Var1, Var2,Var3];
Comment le définir sous Prolog.
Dans les exemple que je vois c'est soit:
une liste vide []
une liste non variable: [1,2,3]
En espérant être claire :-/
La réponse est dans la question !Je voudrais définir une liste de 3 éléments variables.
Liste=[Var1, Var2,Var3],
Sinon tu peux aussi faire length(L, 3).
Voici mon crash log de la console:
Et mon fichier z.pl?- constrir(z).
ERROR: toplevel: Undefined procedure: constrir/1 (DWIM could not correct goal)
?- consult(z).
Warning: /Users/ancrou/z.pl:1:
Singleton variables: [Liste, Var1, Var2, Var3]
ERROR: /Users/ancrou/z.pl:1:
No permission to modify static_procedure `(=)/2'
% z compiled 0.00 sec, 400 bytes
true.
Liste=[Var1, Var2,Var3].
Ah ben oui, il faut écrire des prédicats, il n'y a qu'en ligne de commande que tu peux écrire L = [Var1, Var2, Var3].
Si tu écris un fichier z.pl il faut donner une règle :1 ?- L = [Var1, Var2, Var3].
L = [Var1, Var2, Var3].
A la compile il te signalera qu'il y 3 variables "singleton", et ensuite tu peux exécuter ton fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 test :- L = [Var1, Var2, Var3], writeln(L).
Tu vois d'ailleurs qu'il y a une différence entre l'affichage top-level et l'affichage avec write.2 ?- test.
[_G950, _G953, _G956]
true.
Je viens de créer une règle par listes.
ça compile bien.
Je vais faire la suite, c'est-à-dire les utiliser
Merci de votre aide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager