阅读输入直到退出声明序言

时间:2018-04-02 08:44:45

标签: prolog

所以我正在编写一个聊天Bot,我需要继续接受用户的输入,只要他们不输入'quit。',但如果他们这样做,我必须对用户提出的要求进行一定的回顾。然后返回true,我在使用谓词时遇到问题,该谓词将一直读取输入,直到输入quit,有人可以帮助我吗? 感谢

1 个答案:

答案 0 :(得分:0)

问题的措辞相当普遍,所以这里有一个关于如何使它在Prolog半伪代码中工作的描述:

user_input :-
    repeat,
    read_a_line(Line),
    (   Line = quit  % You might have another way to check this depending...
    ->  write('Finished'), nl,
        !, true
    ;   do_something_with(Line),
        fail
    ).

repeat-fail循环的工作方式是您希望无法继续循环。然后,为了退出循环,你想要成功切割。