我正在使用 prolog 读取文件,并想知道以下说法的区别:
processRead(Stream, ...) :- at_end_of_stream(Stream), !.
和:
processRead(Stream, ...) :- get(Stream, Ch), Ch is -1, !.
有没有?
最佳答案
第一件事!关注 @mat's advice !
如 你需要选择,
总是喜欢使用 at_end_of_stream/1
在 get/2
!
get/2
已弃用。如果您有十年前的遗留代码,请迁移它。如果您的代码是新的,请永远不要使用它。绝不。一次都没有。
at_end_of_stream/1
由 iso-prolog 定义标准。 at_end_of_stream/1
-包括但不仅限于)GNU Prolog , SICStus Prolog , SWI Prolog , B-Prolog , 和 Eclipse CLP .
关于file - Prolog:获取与 at_end_of_stream 以检查文件结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812684/