我正在浏览 swi-prolog 中的 IO 手册页,但找不到从文件/流中读取整数(或数字)的谓词。在谷歌上也没有找到任何东西:|
我知道怎么写,只是想知道是否有内置的东西,因为我猜它会更快。
我正在浏览 swi-prolog 中的 IO 手册页,但找不到从文件/流中读取整数(或数字)的谓词。在谷歌上也没有找到任何东西:|
我知道怎么写,只是想知道是否有内置的东西,因为我猜它会更快。
在 SWI-Prolog 中,“http”包中有 library(dcg_basics)。它有一个 DCG 非终端编号//1,您可以将它与 library(pio) 一起使用,即,phrase_from_file/2,直接从文件中读取(不必一次读取整个文件)。在邮件列表中有一些讨论将 library(dcg_basics) 包含在核心库中,如果您有兴趣查看档案并向列表发送邮件。我认为这将是图书馆的一个非常有用的补充。
如果您可以将输入拆分为每个数字的字符列表,则charsio 库具有以下谓词:
read_from_chars(+Codes, -Term)
这将从字符列表中读取一个术语,而无需预期终止期。
readutil 库具有用于从流中读取字符列表的谓词,例如:
read_stream_to_codes(+Stream, -Codes)
将代码列表拆分为子列表应该很简单(逗号或空格分隔?)