Prolog 用户输入,我们怎么做?

Prolog 用户输入,我们怎么做?,prolog,Prolog,在prolog中,我们如何从用户那里获取信息: 例如: animal(dog). animal(cat). write('please type animal name:'),nl. /* How to read from user and store it to X and then check that user has typed animal name ?*/ ?-animal(X). 您可以使用read。例如,您可以将read(X),animal(X)。写入prolog解释器或将其

在prolog中,我们如何从用户那里获取信息: 例如:

animal(dog).
animal(cat).
write('please type animal name:'),nl.
/* How to read from user and store it to X 
and then check that user has typed animal name ?*/
?-animal(X).

您可以使用
read
。例如,您可以将
read(X),animal(X)。
写入prolog解释器或将其写入脚本文件:

:- read(X), animal(X).
如果在提示中输入有效的动物名称,则该名称将绑定到X。如果输入无效名称,则不会绑定到X

或者您可以定义这样的过程:

read_animal(X) :-
  write('please type animal name:'),
  nl,
  read(X),
  animal(X).
然后在解释器中调用它,如
read\u animal(X)。

请注意,输入需要通过读取值来终止

Animal('X').

Input:- write("enter your name"),nl, 
        read(X), nl, 
        write(X).
%                   name  id
 stud_name('ankit',01).
 stud_name('varun ',02).

Read_stud:-
  write("write name to know Id of student "),nl, 
  Read(Input),nl, 
  stud_name(Input,Output),nl,
  write(Output).

动物(狗)。动物(猫)。动物(牛)。写('请输入动物名称:'),nl。读(X)。动物(X)。@Parkhid:它是
,而不是
。还请注意,您需要使用
终止输入。我编辑了我的答案以澄清问题。它确实有用。你好,安基特!欢迎来到堆栈溢出。如果你想知道为什么你的答案被否决,这里有一些提示:(a)这个问题已经六年了。(b) 已经有一个被接受的答案,有很多人投了赞成票,而你的答案并没有添加任何新的内容。(c) 请用完整的句子解释你发布的代码。(d) 请正确设置代码格式并使用正确的代码格式()。