Prolog编程中的输入输出及其他内置谓词详解
1. 输入输出系统概述
ISO标准的算术系统基于其他ISO计算机算术标准,Prolog标准要求所有算术运算给出合理的计算结果或引发错误条件。在输入输出方面,除了 read
、 write
、 writeq
和 nl
,传统的Edinburgh输入输出谓词未被纳入标准,取而代之的是一个全新且功能多样的输入输出系统。
以下是一个简单的文件输出示例:
test :-
open('/usr/mcovingt/myfile.txt',write,MyStream,[type(text)]),
write_term(MyStream,'Hello, world',[quoted(true)]),
close(MyStream,[force(false)]).
每个输入输出操作都可以指定一个流(STREAM,即打开的文件)和一个选项列表(OPTION LIST)。若采用默认设置,选项列表可以为空,在某些情况下甚至可以省略:
test :-
open('/usr/mcovingt/myfile.txt',write,MyStream,[]),
write_term(MyStream,'Hello, world',[]),
close(MyStream).