本文介绍了Prolog:从父规则读取访问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要在 SWI-Prolog 中读取用户输入数据的特定规则,例如:

I want a specific rule for reading user input data in SWI-Prolog, something like:

process( ... ) :-
    % do_stuff
    read_values( ... ),
    % do_more_stuff with X and Y here.

read_values( ... ) :-
    write('Please enter X: '),        
    read(X),
    write('Please enter Y: '),        
    read(Y).

这可能吗?

推荐答案

你已经有了解决方案:

process :-
    % do_stuff
    read_values(A, B),
    % do_more_stuff with X and Y here
    atom_concat(A, B, C),
    writeln(C).

read_values(X, Y) :-
    write('Please enter X: '),        
    read(X),
    write('Please enter Y: '),        
    read(Y).

示例运行:

?- process.
Please enter X: a.
Please enter Y: b.
ab
true.

这篇关于Prolog:从父规则读取访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 22:11