Trap D | Bonjour
Que veux-tu faire exactement ?
Si tu interroges is_name avec un mot qui commence avec une minuscule, ce mot est considéré comme un atome, et SWI-Prolog recherchera dant la base de données name si ce mot figure.
Si oui réponse true, sinon réponse false.
Maintenant, si tu interroges is_name avec un mot commençant par une majuscule, ce mot est considérer comme un variable qui sera unifiée avec le premier nom de la liste name, dans ce case logname.
Pour ta question sur les egalités je t(invites à réfléchir sur ce qui suit :
Code :
-
?- manuel=toto.
- false.
- ?- manuel=Toto.
- Toto = manuel.
- ?- Manuel=toto.
- Manuel = toto.
- ?- Manuel=Toto.
- Manuel = Toto.
- ?- Manuel.
- % ... 1,000,000 ............ 10,000,000 years later
- %
- % >> 42 << (last release gives the question)
|
Enfin pourquoi ouvres-tu un fichier error.txt pour ne rien écrire dedans.
Je te propose un code, mais celui-ci peut ne pas correspondre à ce que tu recherches
Code :
- name(logname).
- is_name(V) :-
- name(V), !,
- write('Eureka');
- open('./error.txt', write, Stream),
- write(Stream, V),
- write(Stream,' : Echec'),
- close(Stream).
|
|