File 如何在SWI Prolog中读取文件?

File 如何在SWI Prolog中读取文件?,file,io,prolog,swi-prolog,dcg,File,Io,Prolog,Swi Prolog,Dcg,我想读取一个文件,其中每行都包含名称。我不知道如何使用SWI Prolog来实现这一点。我对C/C++有足够的了解,那么有没有办法用Prolog做同样的事情呢?在我看来,在SWI Prolog中读取文件的最好方法(特别是如果你想做一些标准谓词没有涵盖的事情,比如从流中读取Prolog术语的read/2),就是先写一个DCG(=定句语法)以声明方式指定要描述的内容。您可以在查询中以交互方式使用DCG来尝试它(即,解析并经常生成它所描述的字符串)。然后,使用SWI Prolog库(pio)将DCG应

我想读取一个文件,其中每行都包含名称。我不知道如何使用SWI Prolog来实现这一点。我对C/C++有足够的了解,那么有没有办法用Prolog做同样的事情呢?

在我看来,在SWI Prolog中读取文件的最好方法(特别是如果你想做一些标准谓词没有涵盖的事情,比如从流中读取Prolog术语的read/2),就是先写一个DCG(=定句语法)以声明方式指定要描述的内容。您可以在查询中以交互方式使用DCG来尝试它(即,解析并经常生成它所描述的字符串)。然后,使用SWI Prolog库(pio)将DCG应用于带有短语“来自文件”的文件。

打开文件检查此项,实际读取数据检查表的答案。也有这个,也见