将整个文本文件读入Prolog变量

时间:2012-06-19 18:17:19

标签: prolog swi-prolog dcg

我正在努力解决这个问题,尽管这是其他语言中最简单的事情之一:是否有一种简单的方法可以将文本文件的全部内容读入Prolog变量?

2 个答案:

答案 0 :(得分:6)

只需用DCG说明您想要描述的内容,并使用库(pio)从文件中解析:

:- use_module(library(pio)).

all([])     --> [].
all([L|Ls]) --> [L], all(Ls).

示例:

?- once(phrase_from_file(all(Ls), 'all.pl')).
Ls = [10, 58, 45, 32, 117, 115, 101, 95, 109|...].

答案 1 :(得分:2)

library(readutil)中的

有一些内置插件:请参阅read_file_to_codesread_file_to_terms