2010-12-31 6 views
1

i verwendenKann ich konvertiere aus einer Liste von Zeichen in einem String oder einen Begriff in Prolog

read_line_to_codes(Stream,Line) 

eine Zeile aus einer Datei zu lesen .. ersten ist es eine Möglichkeit, eine Zeile zu lesen und weisen Sie ihn ein Begriff im Prolog ?? wenn nicht, habe ich es geschafft, eine Zeile zu lesen und sie in diese Char-Liste zu schreiben. Nun enthält diese Char-Liste Leerzeichen ... was schlecht ist. Also möchte ich sie in Prolog konvertieren, damit ich sie verarbeiten kann einfacher. Räume können nicht Atome sein, also das ist ein Problem.

ich schätze die Hilfe !!

Antwort

2

Wenn Ihre Eingabe aus Prolog-Begriffen besteht, verwenden Sie read/1. Mit atom_codes/2 können Sie Zeichencodes in ein Atom umwandeln. Ein Raum, '', ist auch ein Atom, das kann man mit der Abfrage sehen:? - atom (''). Eine gute Möglichkeit, andere Eingaben aus einer Datei mit SWI-Prolog zu lesen, besteht darin, sie mit einer DCG zu beschreiben und dann phrase_from_file/2 aus der Bibliothek (pio) zu verwenden.

+1

Vielen Dank .. ive schaffte es, den Lesefehler zu beheben .. aber ich habe noch einen .. Ich habe eine neue Frage ID geschrieben schätzen, wenn Sie mir einige Köpfe auf diesem einen .. Vielen Dank – AhmadAssaf