2017-10-14 12 views
0

Je souhaite exporter le résultat d'un calcul dans un fichier de texte dans Prolog, en essayant les suivantes:Comment écrire le résultat d'un calcul dans un fichier dans Prolog?

Je compilez le programme suivant test.pl:

write_to_file(File, Text) :- 
    open(File, write, Stream), 
    write(Stream, Text), nl, 
    close(Stream). 

Je fais ce qui suit:

Y is 2**10000.

Et enfin:

write_to_file('test.txt',Y).

Mais le contenu du fichier test.txt sont les suivants:

_306

Qu'est-ce que je fais mal?

Répondre

0

Si vous souhaitez réutiliser une variable dans différents appels au niveau supérieur Prolog, vous devez préfixer cette variable avec le caractère $. Pour votre exemple:

?- Y is 2**10000. 
?- write_to_file('text.txt', $Y). 

Ce n'est pas nécessaire si vous faites les deux appels à un, en utilisant conjointement Prolog (,):

?- Y is 2**10000, write_to_file('text.txt', Y).