Prolog 从用户输入中获取查询

Prolog 从用户输入中获取查询,prolog,Prolog,在执行了几行代码后,我如何要求用户将其查询放入- woman(X):- ( X=18->write('yes'),nl ; ). man(Y):- ( X=18->write('yes'),nl ; ). main:- woman(18), write('Enter your query'),nl, "**HERE I WANT USER TO CALL ANY QUERY EITHER woman(X) or man(X) ??Can I

在执行了几行代码后,我如何要求用户将其查询放入-

woman(X):-
  ( X=18->write('yes'),nl
    ;
  ).
man(Y):-
  ( X=18->write('yes'),nl
    ;
  ).
main:-
 woman(18),
  write('Enter your query'),nl,
  "**HERE I WANT USER TO CALL ANY QUERY EITHER woman(X) or man(X) ??Can I Do it????**

我想先执行main,然后用户必须输入他的查询。这可能吗?我知道他可以直接调用查询,但他可以在执行main后执行吗?

如果您想提示用户进行查询,那么您是否想将其语法限制为例如womanX?如果你只是想按字面意思去做,那么你可以使用call/1。@lower不,实际上我有很多谓词,用户可以调用任何人。你能提供一个程序输出示例和两个用户输入/响应示例吗?