gpt4 book ai didi

prolog - 从标准输入解析

转载 作者:行者123 更新时间:2023-12-02 06:32:31 26 4
gpt4 key购买 nike

如何解析标准输入(无需缓冲)?如果我理解正确,phrase/2 需要一个列表,而 library(pure_input) 中的 phrase_from_file/2 需要一个文件。

我使用普通谓词(不是 DCG)并使用 get_char/2read_line_to_codes/2 等内置函数解决了我的问题,但最后的实现看起来很可疑类似于我用 C 编写的解决方案。

如果我可以偷偷问一个非常相关的问题:SWI-Prolog 中的标准输入是什么? read_line_to_codes (library(readutil)) 需要输入流(例如,与 get/1 不同)。我通过以下谓词得到它:

input_stream(Stream) :-
current_stream(Object, read, Stream),
integer(Object).

。 。 。这当然有效,但感觉有点被黑了。是否可以有多个打开的输入流?我如何知道哪一个是操作系统(在我的例子中是 Linux)的标准输入?

最佳答案

我认为您正在寻找流的正确命名。这是一个可能有用的示例:

?- read_line_to_codes(user_input,L).
|: a line
L = [97, 32, 108, 105, 110, 101].

我找到的最详细的解释页面是here .

关于prolog - 从标准输入解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com